문서의 이전 판입니다!
조회데이터가 많지 않은 생각보다 시간이 많이 걸리는 경우 확인해 보면 조회 이후 전체 데이터를 스켄하면서 SetRowBackColor()나 SetCellEditable()식의 함수를 통해 조회된 데이터를 수정하는 경우가 많은데 위와 같은 함수가 한번 호출될때 마다 화면에 즉시 렌더링이 이루어지면서 브라우져의 자원을 사용하게 됩니다. 따라서 위와 같은 업무는 데이터를 시트에 로딩하기 전에 미리 조회데이터에 삽입하여 로딩하는 것이 훨씬 성능이 좋습니다.
function mySheet_OnSearchEnd(code,msg){ var sr = mySheet.GetDataFirstRow(),lr = mySheet.GetDataLastRow(); for(var i=sr;i<=lr;i++){ //가령 CheckD 컬럼이 값이 3인 경우 배경색을 바꾸고, Flag 컬럼의 편집불가로 한다. if( mySheet.GetCellValue( i , "CheckD" ) == "3"){ mySheet.SetRowBackColor(i, "#FFDDEE"); mySheet.SetCellEditable(i, "Flag" , 0); } } }
function mySheet_OnLoadData(json){ var jsonObj = $.parseJSON(json); //json문자를 object화 한다. var data = jsonObj["Data"]; for(var i=0;i<data.length;i++){ if(data[i]["CheckD"] == "3"){ data[i]["BackColor"] = "#FFDDEE"; data[i]["Flag#Edit"] = 0; } } return jsonObj; }