我有以下tpl的数据视图。
<tpl for=".">
<tpl for="departments">
{title}
</tpl>
<tpl for="records">
<div class="thumb-wrap">
{name}
</div>
</tpl>
</tpl>
我的json像这样重新开始
reader : new Ext.data.JsonReader(
{
root : 'data',
},
[
'departments' ,
'records'
]
),
我的项目选择在我的录音中
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
答案 0 :(得分:1)
我非常确定在ExtJS 4上不推荐使用getSelectedRecords()。
您可以尝试这样做:
var records = data.getRecords();
这将返回Ext.data.Model[]
。比,您可以访问所有属性,如通常的模型:
record.get('departments');
record.get('records');
答案 1 :(得分:0)
您正在使用您的记录结构来对抗系统。 DataView希望一条记录与一个可选项对应。但是您希望在一条记录中包含多个可选项。不起作用 - API不是为这样的东西而设计的。
您的选择似乎是:
将Grid与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"
},
]
}