Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Select extjs嵌套数据视图选择一个节点_Select_Extjs_Nested_Dataview_Extjs3 - Fatal编程技术网

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"
            },
        ]
    }
    

我假设您使用的是ExtJS 4。
"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"
        },
    ]
}