728x90
반응형
1. SetCell
Jqgrid를 이용하여 row를 db에 저장할때 필수 cell값이 비어있을경우나 cell내용이 validate check의 어긋났을경우에 특정 cell에 css를 입혀 사용자가 focus할수있도록 할수있다.
function checkItem(jqid,Items) {
var flag = false
var validcount =0;
var colNames = {}
var cm = null;
var checkcol = []
if(jqid==="jqGrid"){
checkcol=['a','b','c']
}
var rowData = $("#"+jqid).getRowData();
for (var j=0;j<rowData.length;j++){
for (var i = 0; i < checkcol.length; i++) {
if(rowData[j][checkcol[i]].replace(/ /gi,"").length<1){
$("#"+jqid).jqGrid('setCell',String(j+1),checkcol[i],"",{border : '3px solid red'});
validcount++;
}
}
필자의 경우에는 여러 jqgrid를 한 함수에서 공통으로 사용하기 위해 jqid를 받았다.
일단 checkcol 변수에 자신이 validate check를할 컬럼들을 넣고
getRowData()를 통해 모든 row에 대해 검색을 하여
rowData[j][checkcol[i]].replace(/ /gi,"").length<1
각각의 cell length가 1 이하 즉, 빈 셀이라면
$("#"+jqid).jqGrid('setCell',String(j+1),checkcol[i],"",{border : '3px solid red'});
setcell 을 통해 border 값을 3px solid red를 하여 테두리에 색깔을 입혔다.
{border : '3px solid red'}; 이부분에 자신이 원하는 css를 줄수있다 가령
{color : 'red'}; 로 주게 되면 font 색깔이 바뀐다.
728x90
반응형
'자바웹프로그래밍 > jQuery' 카테고리의 다른 글
jqgrid editcell 중 cell을 doubleclick 할 경우 input박스가 저장될경우 해결방안 (0) | 2021.01.06 |
---|---|
jQgrid 자주사용하는 모음들 정리 afterEditCell,afterSaveCell 응용 (0) | 2021.01.05 |
댓글