jqGrid:3.7中的新数据属性 - 是否有setData方法?

时间:2010-07-18 22:10:55

标签: jqgrid populate

我的应用程序一遍又一遍地填充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会立即通过这些数据直接显示。

2 个答案:

答案 0 :(得分:0)

根据jqGrid docs,可以在通过setGridParam创建网格后更改此选项。例如:

$(#titles-table).jqGrid('setGridParam', data);

答案 1 :(得分:0)

$('#table').addJSONData(data);