javascript - loadComplete 和 gridComplete 事件有什么区别?

标签 javascript datagrid jqgrid

这个问题源于我看了this Oleg的答案以及其中的演示网格。

网格完成:

This fires after all the data is loaded into the grid and all other processes are complete. Also the event fires independent from the datatype parameter and after sorting paging and etc.

加载完成:

This event is executed immediately after every server request. data Data from the response depending on datatype grid parameter

从该文档我了解到 gridComplete 在绘制网格结束时触发,而 loadComplete 在 jqGrid 完成与后端的通信后触发。

所以我想知道 - 为什么在演示中,loadComplete 用于更改单元格的颜色而不是 gridComplete

最佳答案

我认为这个问题被许多 jqGrid 用户问过。所以知道答案很有趣。

我个人更喜欢使用 loadComplete。如果您检查我发布的所有示例中的代码,您会发现 gridComplete 仅当原始发帖者将其发布在问题中并且我会修改一些代码时。我更喜欢使用 loadComplete,因为 loadComplete 的一些优点和 gridComplete 的缺点。

loadComplete 的优点如下:

  • 这是最后一个回调,如果整个网格体 将被重新加载,将被调用。例如,在从服务器将页面加载到网格上之后。重要的是要理解,如果用户更改某些列的排序或设置过滤器或选择网格的另一页;将重新加载网格体。
  • loadComplete 有参数 data 表示整页本地数据或从服务器加载的完整数据。

另一方面,gridComplete 将从内部 updatepager(参见 here)调用(在当前版本的 jqGrid 4.4.4 中),将是从 delRowData(参见 here)、addRowData(参见 here)和 clearGridData(参见 here)方法调用;除了 addXmlData(参见 here )和 addJSONData(参见 here )。这不是人们最想要的。

gridComplete 的另一个缺点是,如果检查 addXmlData(请参阅 here)和 addJSONData(请参阅 here)代码,您可以看到 从哪里 updatepager 被调用,因此 gridComplete 将被调用。如果使用 loadonce: true 并且内部参数 data_index 将填充从服务器返回的完整数据。使用loadonce: true时可以看到;回调 gridComplete 将在从服务器加载第一页数据后调用。此时 data_index 只包含页面的数据。另一方面,loadComplete 将在处理完所有从服务器返回的数据并保存在本地 data_index< 之后调用.

如果您从服务器加载数据并且不使用 loadonce: true 选项,clearGridDataaddRowDatadelRowData 然后你可以使用 gridComplete 而不是 loadComplete

关于javascript - loadComplete 和 gridComplete 事件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15437218/

相关文章:

jquery - 如何让 Resharper 停止 Javascript 将 $ 自动补全为 '$t?

c# - JQuery 中的超链接

javascript - 使用 Datepicker 插入 HTML 表格行不起作用

javascript - MIME 类型 ('text/html' ) 不是受支持的样式表 MIME 类型

java - 如何在 Java Web 应用程序中显示表格数据

c# - 从 WPF 后面的代码添加 DataGrid.Columns

javascript - 如何在JS函数中动态设置键值?

javascript - javascript 中的第二个日期大于第一个日期

c# - wpf excel 喜欢网格编辑吗?

javascript - jqGrid 覆盖禁用我页面的其余部分