单击展开节点,尝试从服务器获取数据并显示子元素。当我点击展开时,网格会被消灭。
这是我的剧本
jQuery("#structureBuilderTable").jqGrid({
treeGrid: true,
treeGridModel: 'adjacency',
ExpandColumn : 'name',
url: '/CoreWebSamples/rest/manageCart/testData',
datatype: "json",
colNames:["id","Name"],
colModel:[
{name:'id',index:'id', width:1,hidden:true,key:true},
{name:'name',index:'name', width:180}
],
height:'auto',
pager : "#ptreegrid",
caption: "Treegrid example",
jsonReader : {
id: "id",
root: "value",
repeatitems: false
}
});
服务器对第一个网格的json响应,如下所示。
{"value":[{"name":"FirstNode","parent":null,"id":"1","level":0,"loaded":false,"isLeaf":false,"expanded":false}],"message":"Service succeeded.","code":"SUCCESS"}
![在此处输入图片说明] [1]
第一个网格
点击展开节点。
{"value":[{"name":"SecondNode","parent":"1","id":"2","level":1,"loaded":false,"isLeaf":false,"expanded":false}],"message":"Service succeeded.","code":"SUCCESS"}
和我的屏幕如下
关于调试网格代码。我找到了
if(ts.p.gridview === true ) {
fpos = ts.p.treeANode > -1 ? ts.p.treeANode: 0;
if(ts.p.grouping) {
if(!locdata) {
self.jqGrid('groupingRender', grpdata, ts.p.colModel.length, ts.p.page, rn);
grpdata = null;
}
} else if(ts.p.treeGrid === true && fpos > 0) {
$(ts.rows[fpos]).after(rowData.join(''));
} else {
$("#"+$.jgrid.jqID(ts.p.id)+" tbody:first").append(rowData.join(''));
}
}
符合条件
else if(ts.p.treeGrid === true && fpos > 0) {
$(ts.rows[fpos]).after(rowData.join(''));
}
执行此$(ts.rows[fpos]).after(rowData.join(''));
后,没有任何事情发生。
答案 0 :(得分:0)
问题已解决。在代码我有默认滚动:1, 由于这种负载的子数据,网格变得空白。更改了默认网格属性scroll:0。 这解决了问题
感谢您的回复。