Select extjs嵌套数据视图选择一个节点
我有以下第三方物流数据视图Select extjs嵌套数据视图选择一个节点,select,extjs,nested,dataview,extjs3,Select,Extjs,Nested,Dataview,Extjs3,我有以下第三方物流数据视图 <tpl for="."> <tpl for="departments"> {title} </tpl> <tpl for="records"> <div class="thumb-wrap"> {name} </div> </tpl> </tpl>
<tpl for=".">
<tpl for="departments">
{title}
</tpl>
<tpl for="records">
<div class="thumb-wrap">
{name}
</div>
</tpl>
</tpl>
在我的记录中选择我的项目
itemSelector : 'div.thumb-wrap',
这是我的json数据
{
"success": true,
"data": [
{
"departments": [
{
"title": "name"
}
],
"records": [
{
"name": "name"
},
{
"name": "name"
}
]
},
{
"departments": [
{
"title": "name"
}
],
"records": [
{
"name": "name"
}
]
}
]
}
如何使用extjs在数据视图中选择我的记录?
我如何才能获得选中的记录?
我使用了getSelectedRecords(),但它返回部门和记录数组。
tnx我很确定这在ExtJS4上是不推荐的
您可以尝试这样做:
var records = data.getRecords();
这将返回一个Ext.data.Model[]
。然后,您可以像访问普通模型一样访问所有属性:
record.get('departments');
record.get('records');
您正在使用您的记录结构与系统对抗。DataView希望一条记录对应一个可选项。但您希望在一条记录中包含多个可选项。不起作用-API不是为这样的事情而设计的 你的选择似乎是:
- 为每组记录创建单独的DataView组件
- 创建您自己的可以处理分组的DataView组件
- 将网格与GroupingView一起使用。您必须将您的记录结构更改为如下所示,但这是开始工作的最简单选择。虽然。。。您必须牺牲DataView提供的相当多的灵活性
"data": [ { { "department": "Department 1" "name": "record 1" }, { "department": "Department 1" "name": "record 2" }, { "department": "Department 2" "name": "record 1" }, { "department": "Department 2" "name": "record 2" }, ] }
"data": [
{
{
"department": "Department 1"
"name": "record 1"
},
{
"department": "Department 1"
"name": "record 2"
},
{
"department": "Department 2"
"name": "record 1"
},
{
"department": "Department 2"
"name": "record 2"
},
]
}