2011-08-16 6 views
0
이미 많은 연구를했고, 많은 노력

에서 사용자 정의 유저 데이터를 읽을 수 있지만 아직 다음과 같은 문제가 해결되지 않은 :이있는 jqGrid

목적은 조건에 해당하는 경우 일부 행에 대한 특정 글꼴 색상을 설정하는 것입니다. 조건에 대한 데이터가 그리드에 표시되지 않습니다.

내 생각 : 지금의 상태를 읽을 수있는 상태가 0 인 경우 "afterInsertRow"이벤트에서 예를 들어, 글꼴 색상을 어떻게

"userdata":{ 
"PROCESSED_TIME":"00:02.250" 
,"rows":[ 
    {"id":"4711","status":"1"}, 
    {"id":"4712","status":"0"}, 
    {"id":"4713","status":"1"} 
]} 

: 나는 그런 사용자 정의 유저 데이터를했다? 나는 다음과 같은 명령을 사용하여 도착을 벌써 가공 시간 : 당신은 행의 색상을 설정하지만, 얼마나 상태 값에 액세스하는 방법을 설명 할 필요가 없습니다

$("#MyGrid").getGridParam('userData').PROCESSED_TIME 

.

이 경우 사용자 데이터를 사용하는 것이 잘못된 방법 일 수 있습니까?

+0

설명을 위해 조건의 데이터는 다른 그리드 열과 함께 반환되지만 숨겨져 있거나 다른 소스에서 얻을 수 있습니까? 마지막 경우가 더 구체적 일 수 있습니까? – diosney

+0

서버에서 데이터를로드합니까? 서버에서'userdata'를 채우고 있습니까? 왜 당신은 단지'userdata'에있는 id의 목록을 두지 않는가? 이 경우 * 모든 행을 로컬로 열거하고 데이터를 테스트 할 필요가 없습니다. 자바 스크립트는 네이티브 SQL 코드 나 다른 원시 코드처럼 느리다. 따라서 지정된 조건을 가진 행의 ID를 감지하면 ** 서버에서 ** 수행하는 것이 더 좋습니다. – Oleg

+0

그리드에 표시 할 모든 데이터가있는 "행"에 추가 배열이 있습니다. 모든 데이터는 서버에 저장됩니다. 그리고 jquery 함께 상태 값을 읽고 행의 색을 변경하려면 싶습니다. @Oleg 당신은 userid에 새로운 배열로 작업 할 것입니다. 예를 들어, 모든 rowid가 채색 될 것입니까? 예 : "userdata": { "PROCESSED_TIME": "00 : 02.250", "INACTIVE_ROWS": "[{"4712 ","4718 "}], [...]} – Daniel

답변

0

Oleg의 힌트를 얻은 후에 해결책을 찾았습니다. userdata의 "rows"요소에 상태를 넣는 대신 별도의 변수에 문자열로 저장했습니다. 내 유저 데이터는 이제 다음과 같습니다은 "loadComplete"이벤트에서

"userdata":{ 
"PROCESSED_TIME":"00:02.250", 
"INAKTIVE_ROWS":"4711,4713" 
,"rows":[ 
{"id":"4711"}, 
{"id":"4712"}, 
{"id":"4713"} 
]} 

내가 문자열을 읽고 같은 비활성 행의 색상을 설정

var inactiveRowstring = $("#MyGrid").getGridParam('userData').inactiveRows; 

if (inactiveRowstring!=undefined){ 
var rows = inactiveRowstring.split(','); 
for (var i=0; i<rows.length; i++){  
    var trElement = $('tr[id="'+rows[i]+'"]'); 
    trElement.removeClass('ui-widget-content'); 
    trElement.addClass('ui-widget-content-inactive'); 
} 
} 

감사를 도와!