在jqGrid中读取自定义userdata

时间:2011-08-16 16:30:05

标签: jqgrid

我已经做了很多研究并尝试了很多,但还没有解决以下问题:

目标是在条件为真时为某些行设置特定的字体颜色。 条件的数据不会在网格中显示。

我的想法: 我制作了一个自定义用户数据:

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

如果状态为0,如何在“afterInsertRow”事件中读取状态以便为字体着色?我通过以下命令到达的处理时间到达:

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

您无需解释如何设置行的颜色,而只需解释如何访问状态值。

在这种情况下使用userdata也可能是错误的方法?

1 个答案:

答案 0 :(得分:0)

在奥列格的暗示之后,我找到了解决方案。 我没有将状态放在userdata的“rows”元素中,而是将其保存为单独变量中的字符串。我的userdata现在看起来像这样:

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

在“loadComplete”事件中,我读取字符串并设置非活动行的颜色,如下所示:

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');
 }
}

感谢您的帮助!