Javascript 在加载新数据之前清除jqGrid不工作?
你好,我有以下问题: 我有一个局部视图,上面有一个jqGrid…我使用Javascript 在加载新数据之前清除jqGrid不工作?,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,你好,我有以下问题: 我有一个局部视图,上面有一个jqGrid…我使用bPopup将局部视图显示为一个对话框 现在在视图的一侧有一个项目列表。单击某个项目时,将显示对话框,其中的表格显示与该响应相关的数据 现在的问题是点击后续项目;点击的第一个项目的数据仍然显示出来…所以我认为只需调用 $("#ListDialogTable").jqGrid("clearGridData"); 将清除数据并允许我显示新数据…但现在,当我尝试在后续单击中显示对话框时…仅显示表格标题…无数据 任何关于这方面的想法
bPopup
将局部视图显示为一个对话框
现在在视图的一侧有一个项目列表。单击某个项目时,将显示对话框,其中的表格显示与该响应相关的数据
现在的问题是点击后续项目;点击的第一个项目的数据仍然显示出来…所以我认为只需调用
$("#ListDialogTable").jqGrid("clearGridData");
将清除数据并允许我显示新数据…但现在,当我尝试在后续单击中显示对话框时…仅显示表格标题…无数据
任何关于这方面的想法和帮助都将不胜感激:)
D
注意:一些代码;下面的方法由方法ShowListDialog
function PopulateTable(model) {
$("#ListDialogTable").jqGrid("clearGridData");
$("#ListDialogTable").jqGrid({
jsonReader:
{
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: true,
cell: "cell",
id: "id"
},
colNames: model.columnN,
colModel: model.columnM,
datatype: "jsonstring",
datastr: model.columnD,
sortname: model.sortName,
sortorder: "asc",
autowidth: true,
celledit: false,
gridview: true,
height: "auto",
hoverrows: false,
shrinkToFit: true,
rowNum: 999,
viewrecords: true
});
}
您没有发布如何创建用于网格的具有
id=“ListDialogTable”
的元素。它是动态构建还是创建一次并多次使用?此外,尚不清楚调用之间是否可以更改model.columnN
和model.columnN
。所以我只能猜测
可能您需要使用允许您重新创建网格的方法,该网格包括其所有元素,包括列标题和寻呼机包含的元素。从演示其工作原理。您可以使用jqgrid的方法
这将卸载整个网格,并允许您将新数据加载到网格。您可以使用以下方法卸载
jqGrid
:
jQuery(#tableId”).jqGrid(“clearGridData”)代码>我也有同样的问题,因为我使用的是较旧版本的jqGrid,这是我的解决方案:
jQuery(“#网格”).clearGridData(true).trigger(“重载网格”)代码>你能发布一些HTML和javascript代码吗?对我们来说,帮助您添加代码更有帮助^ ^ ^抱歉,格式设置没有包括第一行和最后一行代码…每次需要显示对话框时都会执行此代码…因此我不知道反复执行是否会产生不良影响…要格式化代码片段,请选择代码并单击工具栏中的“{}”元素。它只不过是在每行的开头插入4个空格,并在所选文本前后插入空行。如果你手动插入空格,你会得到同样的结果。太棒了!!!谢谢大家!$(#ListDialogTable”).jqGrid(“GridUnload”);成功了。我所需要做的就是在绑定到对话框关闭按钮的click事件的函数中调用上面的代码行^ ^不,它不允许您将新数据加载到网格中。首先需要重新创建网格。见奥列格的回答。
$("#tableId").jqGrid("GridUnload")