Gil*_*tes 14 javascript datagrid jqgrid
gridComplete:
在将所有数据加载到网格中并且所有其他进程完成后,将触发此操作.此事件也会独立于数据类型参数并在对分页等进行排序后触发.
loadComplete:
每个服务器请求后立即执行此事件.data响应中的数据取决于数据类型grid参数
从那些文档中我理解gridComplete在绘制网格结束时loadComplete触发,并在jqGrid完成与后端的通信后触发.
所以我想知道 - 为什么在演示中,loadComplete用于改变细胞的颜色而不是gridComplete?
Ole*_*leg 26
我认为jqGrid的许多用户都会问这个问题.所以知道答案很有意思.
我个人更喜欢使用loadComplete.如果你检查我发布的所有例子中的代码,你会发现gridComplete只有当原始海报在问题中发布它并且我会修改一些代码.我更喜欢使用,loadComplete因为它有一些优点loadComplete和缺点gridComplete.
以下是优点loadComplete:
loadComplete具有data表示本地数据的整页或从服务器加载的完整数据的参数.另一方面gridComplete将从内部updatepager(参见此处)调用(在当前版本的jqGrid 4.4.4中),这将从delRowData(参见此处),addRowData(参见此处)和clearGridData(参见此处)方法调用; 除了到addXmlData(见这里)和addJSONData(见这里).这不是人们最想要的.
一个人的另一个缺点gridComplete可以看出,如果一个人检查addXmlData(见这里)和addJSONData(见这里)的代码,从哪里 updatepager调用,因此gridComplete将被调用.如果使用loadonce: true和内部参数data,_index将填充从服务器返回的完整数据.人们可以看到使用时loadonce: true; 在gridComplete从服务器加载第一页数据后将调用回调.在这一刻data,并_index只包含页面的数据.在另一边loadComplete会被调用后,以后从服务器返回的所有数据进行处理和保存在本地的data和_index.
如果从服务器加载数据,而如果你不使用loadonce: true选项,clearGridData,addRowData和delRowData那么你可以使用gridComplete的替代loadComplete.