2

我的应用程序一遍又一遍地填充一个 jqGrid,其中包含用户可能进行的许多不同查询的结果;查询采用以下形式:给我标题,documentCategory,hits,documentType 用于文档包含单词“x”的所有文档。用户可能会一个接一个地进行许多这样的(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 版中,网格有一个新的“数据”属性,据说比addRowData更快。演示此新数据属性的示例显示了在实例化网格时填充的网格(定义colModel等)。但是假设网格已经存在并且将通过clearGridData调用来取消填充,那么有没有办法设置网格的数据属性来重新填充网格?类似于 clearGridData 的东西,像这样:

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

我对填充网格的更快方法感兴趣。当我的网格有 75 行时,Firefox 会显示“脚本耗时过长”消息,但 Chrome、Opera 和 Safari 会立即通过这个数据量。

4

2 回答 2

0
$('#table').addJSONData(data);
于 2012-01-17T09:04:51.843 回答
0

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

$(#titles-table).jqGrid('setGridParam', data);
于 2010-07-18T22:20:04.017 回答