-
JqGrid ) 그리드 자료를 하나 클릭했을때 그리드 데이터 돌면서 특정 name의 값만 변경하기Front-end/Javascript 2020. 2. 11. 17:59
* jqGrid의 colmodel 관련 옵션을 적는 곳에 onCellSelect를 이용하면 된다. 이 함수 안에서 어떤 기능을 구현하는가는 각자의 기능요구사항에 따라 수정하면된다.
// 그리드 데이터중 특정 name부분만 클릭했을때 그 클릭한 부분의 name을 알아내는 방법 var colModel = $(table_id).jqGrid("getGridParam" , "colModel"); var colNameAttr = colModel[cellidx];
Ex 1 ) 그리드에 설정들이 그려져있고 그리드의 name 중 use_yn의 값 사용(Y) / 사용안함(N) 으로 설정을 사용하는지 안하는지 나타내고 있다면 -> 그리드를 하나 클릭했을때 그 그리드의 use_yn을 Y로, 그 특정 데이터를 제외한 나머지는 모두 N으로 변경해야하는 상황일때
onCellSelect: function (id,cellidx,cellvalue) { var selectedData = $(table_id).getRowData(id); // 선택한 그리드 rowData 참조. var useOrNot = $("#gridId").jqGrid('getCell', id, 'use_yn') if(useOrNot == "Y"){ $("#gridId").jqGrid('setCell', id , 'use_yn' , 'N'); } else { // for문으로 돌면서 현재사용 = Y 인 데이터는 전부 N로 수정한다. var gridData = $("#gridId").jqGrid('getGridParam' , 'data'); var ids = $("#gridId").getGridParam("reccount"); for (var i=0; i < ids ; i++) { if(gridData[i].use_yn == "Y") { var rowid = $("#gridId").jqGrid("getDataIDs"); //jqGrid rowid들을 가져온다. $("#gridId").jqGrid('setCell', rowid[i] , 'use_yn' , 'N'); } } $("#gridId").jqGrid('setCell', id , 'use_yn' , 'Y'); } }
Ex 2 ) 데이터의 특정 name 부분만 클릭했을때 그 데이터만 변경하고싶으면
onCellSelect: function (id,cellidx,cellvalue) { var selectedData = $(table_id).getRowData(id); // 선택한 그리드 rowData 참조. var useOrNot = selectedData.use_yn; if (useOrNot == "Y") { $("#gridId").jqGrid('setCell', id , 'use_yn' , 'N'); } else { $("#gridId").jqGrid('setCell', id , 'use_yn' , 'Y'); } }
'Front-end > Javascript' 카테고리의 다른 글
JavaScript ) ul > li > a태그들의 id값 찾기 (2) 2020.02.26 jqGrid ) 특정 셀의 background color 변경해주기 (0) 2020.02.21 Javascript ) 객체 속성 접근자 obj.key 그리고 obj[key] (0) 2020.02.21 let,const,var - 변수 선언 방식 (0) 2020.02.05 select 옵션 변경 감지 (자바스크립트) (0) 2020.02.04