我猜是afterInsertRow是要使用的方法,我已经为每一行(读/未读)提供了额外的数据,使用了键"readStatus".
我不想要的是在网格完成后横向移动DOM,根据某个单元格值将行添加到行中.
有什么建议?
添加在:
如果这是单元格数据:
{"cell":["blah blah blah"],"id":"123456789","readstatus":"unread"}
Run Code Online (Sandbox Code Playgroud)
我如何进入'readstatus'部分?
Ole*_*leg 12
函数的使用afterInsertRow
并不是最好的方法,特别是如果你使用几乎总是推荐的gridview:true
jqGrid选项.看看那些大多数你需要的旧答案.代码的架构可能是关于以下的
$('#list').jqGrid({
//...
loadComplete: function() {
var ids = $(this).jqGrid("getDataIDs"), l = ids.length, i, rowid, status;
for (i = 0; i < l; i++) {
rowid = ids[i];
// get data from some column "readStatus"
status = $(this).jqGrid("getCell", rowid, "readStatus");
// or get data from some
//var rowData = $(this).jqGrid("getRowData', rowid);
// now you can set css on the row with some
if (status === "error") {
$('#' + $.jgrid.jqID(rowid)).addClass('myErrorClass');
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
它看起来像"在网格完成后横穿DOM",但它的使用速度很快afterInsertRow
.
更新:答案相对较旧.最近jqGrid的版本具有callattr
与rowattr
可用于回调来更有效地执行相同的要求.重要的是要理解在网格的一个单元格或网格行上的类的设置(参见.addClass('myErrorClass')
答案的代码)遵循浏览器对页面上存在的所有元素的重排.因此,应该减少页面上DOM元素的更改次数.为此,严格建议使用gridview: true
(有关详细信息,请参阅答案).回调callattr
,rowattr
再加上使用和自定义格式gridview: true
允许创建网格体的完整内容一次.因此,页面上的更改次数将减少,性能将得到改善.
列属性callattr
从colModel
可以帮助设置类,样式或选择一些其他属性单元格.回调rowattr
可以帮助在选定的网格行上设置类,样式或一些其他属性(与上面的示例完全相同).
我建议所有阅读上述答案的人都会看一下如何使用的答案rowattr
.
您可以callattr
在以下答案中阅读更多相关信息:this,this,this,this.如果您使用datatype: "xml"
该实现可能会更复杂:请参阅答案以获取详细信息.
归档时间: |
|
查看次数: |
12959 次 |
最近记录: |