我的应用程序一遍又一遍地填充jqGrid,其中包含用户可能进行的许多不同查询的结果;查询采用以下形式:为文档包含单词“x”的所有文档提供title,documentCategory,hits,documentType。用户可以一个接一个地进行许多这样的(ajax)查询:问题查询。阅读数据库返回的标题列表。做一些工作。再做一次这样的查询。等等等等。
我创建了一次网格,当ajax数据库调用返回一些数据时,网格首先被减少,然后重新填充,如下所示:
$("#titles-table").jqGrid('clearGridData');
.
.
. // loop through the data returned by the ajax database call
for (var i = 0 ...
{
row = ...
$("#titles-table").jqGrid('addRowData',i, row);
}
但是现在版本3.7,网格有一个新的'data'属性,据说比 addRowData 更快。演示此新数据属性的示例显示正在实例化的网格正在填充(因为 colModel 已定义,等等)。但是假设网格已经存在并且将通过 clearGridData 调用减少,那么有没有办法设置网格的数据属性来重新填充格?类似于clearGridData的东西,如:
$(#titles-table).jqGrid('setGridData', data);
我对更快地填充网格感兴趣。当我的网格有75行时,Firefox会显示“脚本耗时太长”的消息,但Chrome和Opera以及Safari会立即通过这些数据直接显示。
答案 0 :(得分:0)
根据jqGrid docs,可以在通过setGridParam
创建网格后更改此选项。例如:
$(#titles-table).jqGrid('setGridParam', data);
答案 1 :(得分:0)
$('#table').addJSONData(data);