是否可以在jqGrid中更改子网格的负载?
Is it possible to change the loadui for a subgrid in jqGrid?
我有一个使用简单子网格的jqGrid(4.1.1)。当添加一条记录以查看子网格时,会弹出一个不同于正常负载的加载界面。
我当前的配置是使用loadui: none
,在beforeRequest
事件上我显示我自己的加载器。
如果我在subGridBeforeExpand
事件上使用自定义消息,它将显示我的消息以及默认消息。当加载完成时,我也不知道在哪里隐藏div。subGridRowExpanded
似乎不是正确的地方。
- 是否有一个jqGrid设置来隐藏子网格负载,或者我必须滚动我自己的javascript来隐藏它?
- 我可以钩入哪些事件以确保子网格已加载,以便我可以关闭加载程序?
提前感谢!
如果你查看子网格的代码你会发现在这里加载div将被显示为
$("#load_"+ts.p.id).show();
另一边的显示标准(主)网格的代码如下(见这里):
beginReq = function() {
ts.grid.hDiv.loading = true;
if(ts.p.hiddengrid) { return;}
switch(ts.p.loadui) {
case "disable":
break;
case "enable":
$("#load_"+$.jgrid.jqID(ts.p.id)).show();
break;
case "block":
$("#lui_"+$.jgrid.jqID(ts.p.id)).show();
$("#load_"+$.jgrid.jqID(ts.p.id)).show();
break;
}
}
所以您可以看到设置loadui: "disable"
将只在主网格中使用。从上面的代码可以看出,loadui
的任何值,如"enable"
或"block"
(如您使用的未知"none"值)将被解释为loadui: "disable"
。
在我看来这是子网格中的一个bug。
作为解决方案,我建议您在创建jqGrid
后,只需删除加载div。例如,如果网格的table元素具有id="list"
,则下一行:
$("div#load_list").remove();
只会删除div,你将永远不会在主网格和子网格中看到它。
根据注释更新: OK!现在我明白你的问题了。我以为你之前用的是datatype: 'local'
。在使用一些远程数据类型和blockUI插件的情况下,您可以执行以下操作。当前jqGrid对子网格使用的ajax
调用可以在这里看到。它使用了complete
事件,所以使用了jQuery的success
和error
事件。Ajax现在是免费的。因此,您可以使用事件来调用.unblock()
或$.unblockUI()
方法,这将关闭加载覆盖。你可以使用jqGrid的ajaxSubgridOptions参数
$("#list").jqGrid({
// options of grid of subgrid ...
ajaxSubgridOptions {
success: function () {
$.unblockUI(); // or $("#list").unblock();
},
error: function () {
$.unblockUI(); // or $("#list").unblock();
}
}
);
如果它不能解决你的问题,你应该在你的问题中包括代码片段,它解释了如何使用blockUI插件,我将通过插入unblocking方法的调用来修改代码。
相关文章:
- 剑道网格jQuery动画()问题
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 我可以更改剑道UI网格吗's的外键值
- jqGrid树网格问题
- 如何解雇“;铁局部存储负载”;事件
- 在Three.js中导出网格会提高性能吗
- AngularJs动态负载
- 如何在剑道网格初始化后设置pageSizes
- 在threejs中使用纹理网格和线框网格
- 如何在可分组的剑道网格中设置空数据文本
- 如何在Angular UI网格中选择下一行
- ExtJS网格单元格编辑器,防止焦点松动问题
- 多维数据集网格未在指定的分区中绘制
- 光线投射从内部投射时不会碰到网格
- 使用javascript在MVC中查找网格长度时出错
- 在筛选网格期间,网格负载掩码不起作用
- 网格负载掩码获胜'使用PagingMemoryProxy时不会消失
- 如何更快地制作具有子网格负载的jqgrid
- 我怎样才能得到SlickGrid标题过滤器出现在网格负载上
- 是否可以在jqGrid中更改子网格的负载?