써먹는 웹개발

[Jqgrid] 필드에 콤보박스 적용 및 수정 방법 본문

Client/Jqgrid (+tui grid), ck editor

[Jqgrid] 필드에 콤보박스 적용 및 수정 방법

kmhan 2018. 5. 16. 18:11


728x90
반응형

jqgrid 필드에 콤보박스 적용 및 수정 방법

 1) 콘트롤러

  @RequestMapping(value = "/admin/주소", method = {RequestMethod.GET})

public String menuMngt (

ModelMap model) throws Exception {

model.addAttribute("mngrList", adminService.selectMenuGroupList());

return "jeinsoft/admin/주소";

}


 2) jsp

  <input type="hidden" id="mngrList" value='{

<c:forEach items= "${mngrList}" var="item" varStatus="status">

"${item.mngrCd}" : "${item.mngrNm}" <c:if test="${not status.last }">, </c:if>

</c:forEach>

}' />


 3) js (jqgrid의 model 부분)

var lastSel; // 전역변수

... 


colModel:[

            { name:'rowId',

            label:'id',

            index:'rowId', 

            hidden:true, 

            key:true

            },

{

name: "bigMenuChangeGu",

label: "대메뉴 수정여부",

index: "bigMenuChangeGu",

align: 'center',

            hidden:true

},

{

name: "mngrCd",

label: "대분류코드",

index: "mngrCd",

align: 'center',

            hidden:true

},


{

name: "mngrNm",

label: "대분류명",

index: "mngrNm",

width: 120,

align: 'center',

editable: true,

edittype: 'select',

// formatter: "select",

editoptions: {

value: JSON.parse($("#mngrList").val()),

dataEvents: [{ 

type : 'change'

, fn : function(e) { // 콤보박스 변경시 값 바뀌는 이벤트

$("#gridMenuList").setCell(lastSel, 'mngrCd', e.target.value);

$("#gridMenuList").setCell(lastSel, 'bigMenuChangeGu', 'Y');

}

}]

}

}

]

, onSelectRow: function(id){ 

       if(id && id!==lastSel){  

          lastSel=id; 

       } 

}


728x90
반응형


Comments