一尘不染

loadComplete和gridComplete事件之间有什么区别?

javascript

gridComplete

在将所有数据加载到网格中并完成所有其他过程之后,将触发此事件。同样,事件会与datatype参数无关并在对分页等进行排序后触发。

loadComplete

每个服务器请求后立即执行此事件。数据来自响应的数据取决于数据类型网格参数

从该文档中,我了解到gridComplete在绘制网格的末尾loadComplete触发,并在jqGrid完成与后端的通信后触发。

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


阅读 897

收藏
2020-05-01

共1个答案

一尘不染

我认为这个问题是jqGrid的许多用户提出的。因此,知道答案很有趣。

我个人更喜欢使用loadComplete。如果您从我发布的所有示例中检查代码,则gridComplete只有当原始海报在问题中将其发布时,您才能找到它,而我会修改一些代码。loadComplete由于的优点loadComplete和缺点,我更喜欢使用gridComplete

以下是优点loadComplete

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

另一方面,gridComplete将从内部updatepager调用(在jqGrid
4.4.4的当前版本中),该方法
将由delRowDataaddRowDataclearGridData方法调用;除了addXmlDataaddJSONData。这不是人们最想要的。

一个人的另一个缺点是gridComplete可以查看是否_从哪里_调用了,因此将调用来检查addXmlData)和addJSONData的代码。如果使用和内部参数,则将填充服务器返回的完整数据。使用时可以看到;
从服务器加载第一页数据后,将调用 回调。此时,仅包含该页面的数据。在另一边 会被调用后,以后从服务器返回的所有数据进行处理和保存在本地的和。 __updatepager``gridComplete``loadonce: true``data``_index``loadonce: true gridCompletedata``_index loadCompletedata``_index

如果从服务器加载数据,而如果你不使用loadonce:true选项,clearGridDataaddRowDatadelRowData那么你可以使用gridComplete的替代loadComplete

2020-05-01