你好^ _ ^我有以下问题:
我有一个带有jqGrid的局部视图...我使用bPopup
将部分视图显示为对话框。
现在视图侧面有一个项目列表。单击某个项目时...将显示该对话框,其中的表格显示与该响应相关的数据...
现在的问题是点击后续项目;点击的第一个项目的数据仍然显示...所以我认为只需调用
$("#ListDialogTable").jqGrid("clearGridData");
将清除数据并允许我显示新数据......但现在当我尝试在后续点击中显示对话框时......只显示表格标题...没有数据!
任何想法和帮助对此赞赏:) d
P.S。一些代码;以下方法由方法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
});
}
答案 0 :(得分:12)
您可以使用以下方法卸载jqGrid
:
jQuery("#tableId").jqGrid("clearGridData");
答案 1 :(得分:3)
您没有公布如何创建用于网格的id="ListDialogTable"
元素。它会动态构建还是创建一次并多次使用?此外,还不清楚是否可以在通话之间更改model.columnN
和model.columnM
。所以我只能猜测。
您可能需要使用GridUnload方法,该方法允许您重新创建网格,包括其所有元素,包括列标题和寻呼机包含的元素。来自The demo的the answer证明了它是如何运作的。
答案 2 :(得分:2)
答案 3 :(得分:1)
我有同样的问题,因为我使用旧版本的jqGrid,这是我的解决方案:
jQuery("#grid").clearGridData(true).trigger("reloadGrid");