jqGrid:3.7 中的新数据属性——有 setData 方法吗?

发布于 2024-09-10 02:17:52 字数 901 浏览 4 评论 0原文

我的应用程序一遍又一遍地填充 jqGrid,其中包含用户可能进行的许多不同查询的结果;查询采用以下形式:给我包含单词“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 版本中,网格有一个新的“data”属性,据说它比 <强>添加行数据。演示此新 data 属性的示例显示网格在实例化时被填充(定义 colModel 等)。但是假设网格已经存在并且将通过clearGridData调用取消填充,那么是否有一种方法可以设置网格的data属性来重新填充网格?类似于clearGridData的东西,如下所示:

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

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

My app populates a jqGrid, over and over again, with the results of many different queries the user may make; the queries take the form: give me title, documentCategory, hits, documentType for all documents where the document contains the word 'x'. The user may make many such (ajax) queries, one after the other: Issue query. Read the list of titles returned by the database. Do some work. Make another such query. And so on and so on.

I create the grid once, and when the ajax database call returns with some data, the grid is first depopulated and then repopulated, like this:

 $("#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); 
      }

But now with version 3.7, the grid has a new 'data' property that is supposedly faster than addRowData. The examples demonstrating this new data property show the grid being populated as it is being instantiated (as the colModel is defined, etc etc). But assuming the grid already exists and will be depopulated with a clearGridData call, is there then a way to set the grid's data property to repopulate the grid? Something analogous to clearGridData, like this:

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

I am interested in a faster way to populate the grid. Firefox displays the "script taking too long" message when my grid has 75 rows, but Chrome and Opera and Safari blaze right thru this amount of data instantly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

七颜 2024-09-17 02:17:52

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

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

According to the jqGrid docs, this option can be changed after the grid is created via setGridParam. For example:

$(#titles-table).jqGrid('setGridParam', data);
眼泪都笑了 2024-09-17 02:17:52
$('#table').addJSONData(data);
$('#table').addJSONData(data);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文