在jqGrid中读取自定义用户数据

在jqGrid中读取自定义用户数据,jqgrid,Jqgrid,我已经做了很多研究和尝试,但还没有解决以下问题: 目标是在条件为真时为某些行设置特定的字体颜色。 该条件的数据未显示在网格中 我的想法是: 我制作了一个自定义userdata,如下所示: "userdata":{ "PROCESSED_TIME":"00:02.250" ,"rows":[ {"id":"4711","status":"1"}, {"id":"4712","status":"0"}, {"id":"4713","status":"1"} ]} var ina

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

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

我的想法是: 我制作了一个自定义userdata,如下所示:

"userdata":{
"PROCESSED_TIME":"00:02.250"
,"rows":[
   {"id":"4711","status":"1"}, 
   {"id":"4712","status":"0"},
   {"id":"4713","status":"1"}
]}
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');
 }
}
如果状态为0,我现在如何读取状态(例如在“afterInsertRow”事件中)以给字体上色?已处理时间我已通过以下命令到达:

$("#MyGrid").getGridParam('userData').PROCESSED_TIME
您不需要解释如何设置行的颜色,只需要解释如何访问状态值


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

在Oleg的提示下,我找到了解决方案。 我没有将状态放在userdata的“rows”元素中,而是将其保存为单独变量中的字符串。我的用户数据现在如下所示:

"userdata":{
"PROCESSED_TIME":"00:02.250",
"INAKTIVE_ROWS":"4711,4713"
,"rows":[
{"id":"4711"}, 
{"id":"4712"},
{"id":"4713"}
]}
在“loadComplete”事件中,我读取字符串并设置非活动行的颜色,如下所示:

"userdata":{
"PROCESSED_TIME":"00:02.250"
,"rows":[
   {"id":"4711","status":"1"}, 
   {"id":"4712","status":"0"},
   {"id":"4713","status":"1"}
]}
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');
 }
}
var-inactiveRowstring=$(“#MyGrid”).getGridParam('userData').inactiveRows;
if(InactiveVerowString!=未定义){
var rows=inactiveRowstring.split(',');

对于(var i=0;如果要澄清,条件中的数据是沿着其他网格列返回的,但它是隐藏的,或者是其他获取它的来源?如果是最后一种情况,您可以更具体一些吗?您是否从服务器加载数据?您是否在服务器上填写
userdata
?为什么不将ID列表放在
userdata中?在这种情况下,您不需要在本地枚举所有行并测试数据。JavaScript与本机SQL代码或任何其他本机代码相比要慢得多。因此,在服务器上检测具有指定条件的行的ID会更好。我在“行”中还有一个附加数组将所有数据显示在网格中。所有数据都在服务器上填充。使用jquery,我希望读取状态值并更改行的颜色。@Oleg您将在userdata中使用一个新的单独数组,例如,将所有rowid都着色?如“非活动的行”。例如:“userdata”:{“已处理的时间”:“00:02.250”,“非活动行”:“[{”4712,“4718”}],…]}