본문 바로가기
자바웹프로그래밍/jQuery

JqGrid "setCell"을 통해 validate check후 grid 테두리 색깔주기

by 디찌s 2021. 1. 4.
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
반응형

댓글