这个问题是我查看thisOleg答案并在其中演示网格之后产生的。
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仅包含页面数据。另一方面,在处理了从服务器返回的所有数据并将本地保存在loadCompletedata中之后,稍后将调用 _index

    如果从服务器加载数据,并且不使用loadonce: true选项clearGridDataaddRowDatadelRowData,则可以使用gridComplete代替loadComplete

    09-26 22:01