jqGrid의 multiselect의 경우 아주 편하게 row 별로 checkbox 를 생성할 수 있지만 특정 로우에 대한 별도 처리는 쉽지 않다.
따라서 아래와 같은 별도 처리가 필요, 아래 처리 소스는 jqGrid가 loading 완료된 후에 처리되는 부분이므로 loadComplete 부분에 넣어준다.
** rowdata중에 column1 이란 필드가 존재하며 그값이 1인 경우만 disabled처리한다는 가정하에 아래 코드 작성 **
=============================================== Example ================================================
loadComplete: function (jsondata) {
var idArry = $("#grid_id").jqGrid('getDataIDs'); //grid의 id 값을 배열로 가져옴
for(var i=0 ; i < idArry.length; i++){
var ret = $("#grid_id").getRowData(idArry[i]); // 해당 id의 row 데이터를 가져옴
if("1" != ret.column1){ //해당 row의 특정 컬럼 값이 1이 아니면 multiselect checkbox disabled 처리
//해당 row의 checkbox disabled 처리 "jqg_list_" 이 부분은 grid에서 자동 생성
$("#jqg_list_"+idArry[i]).attr("disabled", true);
}
}
},
onSelectAll: function(aRowids,status) { //disabled 처리된 checkbox 선택 안되도록 해주는 부분
if (status) {
var cbs = $("tr.jqgrow > td > input.cbox:disabled", $("#grid_id")[0]);
cbs.removeAttr("checked");
$("#grid_id")[0].p.selarrrow = $("#grid_id").find("tr.jqgrow:has(td > input.cbox:checked)").map(function() { return this.id; }).get();
}
}
* jqGrid의 id 값은 절대 중복되지 않는 필드로 세팅하는 것을 강조! 그렇지 않을 경우 오작동을 일으킬 가능성이 높다!
'jqGrid > 소스코드' 카테고리의 다른 글
제이큐그리드(JQGRID) 선택 된 row 가져오기 (0) | 2015.12.29 |
---|---|
jqGrid multiselect (checkbox) 세팅 및 checked 데이터 가져오기 (0) | 2015.12.29 |
JQGrid Search/Filter (0) | 2015.12.29 |
jqGrid caption font size 변경 하기 (0) | 2015.11.27 |
[jQuery] jqGrid - colModel에 cellattr 옵션을 이용한 Row Style 변경하기 (셀병합,색상,폰트) (0) | 2015.11.27 |
jqGrid Header(column) Setting, colspan 컬럼 합치기, 다중컬럼 (0) | 2015.11.27 |
jqgrid rowspan / row합치기 / col합치기 / column 합치기 / rowspan / colspan (1) | 2015.11.27 |
jqGrid - 헤더 관련 예제 (헤더 병합/ 동적 헤더명) (0) | 2015.11.27 |