这个问题是我查看this的Oleg答案并在其中演示网格之后产生的。gridComplete
:
loadComplete
:
从该文档中,我了解到gridComplete
在图形网格的末尾触发,并且loadComplete
在jqGrid完成与后端的通信后触发。
所以我想知道-为什么在演示中,loadComplete
用于更改单元格的颜色而不是gridComplete
?
最佳答案
我认为这个问题是jqGrid的许多用户提出的。因此,知道答案很有趣。
我个人更喜欢使用loadComplete
。如果您从我发布的所有示例中检查代码,则只有当原始海报在问题中将其发布时,您才能找到gridComplete
,而我会修改一些代码。由于loadComplete
的一些优点和loadComplete
的缺点,所以我更喜欢使用gridComplete
。
这是loadComplete
的优点:
loadComplete
具有参数data
,代表本地数据的完整页面或从服务器加载的完整数据。 另一方面,将从内部
gridComplete
(请参阅here)调用updatepager
(在jqGrid 4.4.4的当前版本中),将从delRowData
(请参见here),addRowData
(请参见here)和clearGridData
(请参见here)调用。方法;除了addXmlData
(请参见here)和addJSONData
(请参见here)之外的。这不是人们最想要的。gridComplete
的另一个缺点是,可以看到是否从调用addXmlData
的位置检查了addJSONData
(请参阅here)和updatepager
(请参见here)的代码,然后再调用gridComplete
。如果使用loadonce: true
,内部参数data
和_index
将填充从服务器返回的完整数据。使用loadonce: true
可以看到;从服务器加载第一页数据后,将调用回调 gridComplete
。此时,data
和_index
仅包含页面数据。另一方面,在处理了从服务器返回的所有数据并将本地保存在loadComplete
和data
中之后,稍后将调用 _index
。如果从服务器加载数据,并且不使用
loadonce: true
选项clearGridData
,addRowData
和delRowData
,则可以使用gridComplete
代替loadComplete
。