我正在尝试在树状网格中显示文本。我可以使用根对象正确获取数据的“表格”。但是我在节点旁边或对应的表格列中显示文本时遇到问题。
我的代码如下所示:
Ext.onReady (function () {
var treePanel = new Ext.tree.TreePanel({
title: ' ',
width: 900,
height: 300,
renderTo: Ext.getBody(),
rootVisible: false,
singleExpand: true,
columns: [{
xtype: 'treecolumn',
text: 'Outlet',
dataIndex: 'outlet'
},{
text: 'Mc Area',
dataIndex: 'mcarea'
}
],
root: {
children: [
{
// text: 'Outlet Group 1', ??
outlet: "Outlet Group 1",
mcArea: "Latin America",
children: [
{
outlet: "Outlet 1",
mcArea: "Argentina"
},{
text: "Outlet 2",
mcArea: "Chile"
}
]
},
{
text: "Outlet Group 2"
}
]
}
});
});
但这是我所看到的:
即。没有文字值。我会假设数据结构中的“出口”将与列中的“出口” dataIndex相匹配。
最佳答案
对于树形网格,您将需要使用TreeStore和相应的Model,以定义字段outlet
。
您的root
可以直接移至商店的配置:
store: Ext.create('Ext.data.TreeStore', {
root: {
children: [
{
outlet: "Outlet Group 1",
mcArea: "Latin America",
children: [
{
outlet: "Outlet 1",
mcArea: "Argentina"
},{
text: "Outlet 2",
mcArea: "Chile"
}
]
},
{
text: "Outlet Group 2"
}
]
},
// model is created inline by the store
fields: [
{name: 'outlet', type: 'text'}
]
})
树面板上的
root
配置仅适用于简单树,并且将创建具有简约模型的树存储,但不适用于自定义数据字段。