在 XPages 中创建 Dojox 树网格时出错
Error creating Dojox Tree grid in XPages
我一直在尝试在 XPages 上创建一个树状网格,并且在渲染网格时得到了 "Sorry, an error occurred"。
下面的 JSON 字符串是我要渲染的内容:
var data = {"identifier": "name",
"label": "name",
items: [
{"name": "Africa", "": "continent", "children": "[
{ "name":"Egypt", "field":"country" },
{ "name":"Kenya", "field":"country", "children":"[
{ "name":"Nairobi", "field":"city" },
{ "name":"Mombasa", "field":"city" } ]"
]},
{ "name":"Sudan", "field":"country", "children":"[
{ "name":'Khartoum', "field":"city" }]"
},
{ "name":'Asia', "field":"continent", "children":"[
{ "name":"China", "field":"country" },
{ "name":"India", "field":"country"},
{ "name":"Russia", "field":"country" },
{ "name":"Mongolia", "field":"country" } ]"
}
}
]}
下面的 Dojo 代码(包括上面的 var)在 onCleintLoad 事件中- Cleint 端:
var jsonStore = new ItemFileWriteStore({data:data});
var layout = [
{name: "Continent", field: "continent"},
{name: "Country", field: "country"}
];
var treeModel = new dijit.tree.ForestStoreModel({
store: folderStore,
query: {type:'name'},
rootId: 'LandRoot',
rootLabel: 'Land',
childrenAttrs: ['children']
});
var grid = new dojox.grid.TreeGrid({
treeModel: treeModel,
structure: layout,
showRoot: true
}, 'treeGrid');
grid.startup();
dojo.connect(window, "onresize", grid, "resize");
通过在每个新类别的开头向字符串添加新值 "level":"0"
解决了问题:
{"level": 0,"name": "Africa", "": "continent", "children": "[.....
在网格的 ForestStoreModel 处:
var treeModel = new dijit.tree.ForestStoreModel({
store: folderStore,
query: {type:'name'},
rootId: 'LandRoot',
rootLabel: 'Land',
childrenAttrs: ['children']
});
我将 select 类别项所需的查询 属性 更改为 query: {level:"0"},
。那是诅咒错误的行,因为 .type:'name'
在 JSONString 中不存在。
我一直在尝试在 XPages 上创建一个树状网格,并且在渲染网格时得到了 "Sorry, an error occurred"。
下面的 JSON 字符串是我要渲染的内容:
var data = {"identifier": "name",
"label": "name",
items: [
{"name": "Africa", "": "continent", "children": "[
{ "name":"Egypt", "field":"country" },
{ "name":"Kenya", "field":"country", "children":"[
{ "name":"Nairobi", "field":"city" },
{ "name":"Mombasa", "field":"city" } ]"
]},
{ "name":"Sudan", "field":"country", "children":"[
{ "name":'Khartoum', "field":"city" }]"
},
{ "name":'Asia', "field":"continent", "children":"[
{ "name":"China", "field":"country" },
{ "name":"India", "field":"country"},
{ "name":"Russia", "field":"country" },
{ "name":"Mongolia", "field":"country" } ]"
}
}
]}
下面的 Dojo 代码(包括上面的 var)在 onCleintLoad 事件中- Cleint 端:
var jsonStore = new ItemFileWriteStore({data:data});
var layout = [
{name: "Continent", field: "continent"},
{name: "Country", field: "country"}
];
var treeModel = new dijit.tree.ForestStoreModel({
store: folderStore,
query: {type:'name'},
rootId: 'LandRoot',
rootLabel: 'Land',
childrenAttrs: ['children']
});
var grid = new dojox.grid.TreeGrid({
treeModel: treeModel,
structure: layout,
showRoot: true
}, 'treeGrid');
grid.startup();
dojo.connect(window, "onresize", grid, "resize");
通过在每个新类别的开头向字符串添加新值 "level":"0"
解决了问题:
{"level": 0,"name": "Africa", "": "continent", "children": "[.....
在网格的 ForestStoreModel 处:
var treeModel = new dijit.tree.ForestStoreModel({
store: folderStore,
query: {type:'name'},
rootId: 'LandRoot',
rootLabel: 'Land',
childrenAttrs: ['children']
});
我将 select 类别项所需的查询 属性 更改为 query: {level:"0"},
。那是诅咒错误的行,因为 .type:'name'
在 JSONString 中不存在。