在此演示的示例中,您可以看到在使用的情况下为网格加载1500行的时间
gridview: true。
您的示例最大的性能问题在
loadComplete函数内部。如果确实需要在网格上进行一些修改,则应使用jQuery来操纵网格包含。如果像示例中一样直接使用网格的DOM元素,则可以实现最佳性能
loadComplete: function() { var i=0, indexes = this.p._index, localdata = this.p.data, rows=this.rows, rowsCount = rows.length, row, rowid, rowData, className; for(;i<rowsCount;i++) { row = rows[i]; className = row.className; //if ($(row).hasClass('jqgrow')) { // test for standard row if (className.indexOf('jqgrow') !== -1) { rowid = row.id; rowData = localdata[indexes[rowid]]; if (rowData.amount !== "200") { // if (!$(row).hasClass('ui-state-disabled')) { if (className.indexOf('ui-state-disabled') === -1) { row.className = className + ' ui-state-disabled'; } //$(row).addClass('ui-state-disabled'); } } }}您可以在此处看到相应的示例。
在
loadComplete函数的实现中,我使用了这样的事实:具有
loadonce:true参数的jqGrid
使用内部参数
_index,
data并且可以用来访问网格的包含物。在示例中,我禁用了该列中不包含“ 200”的
amount行。



