Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
是否可以将dojo dgrid指向同一rest存储区&;作为筛选器选择查询?_Dojo - Fatal编程技术网

是否可以将dojo dgrid指向同一rest存储区&;作为筛选器选择查询?

是否可以将dojo dgrid指向同一rest存储区&;作为筛选器选择查询?,dojo,Dojo,当然,应该可以对同一存储发出相同的查询,以使用相同的行填充dGrid(或任何其他形式的网格)和filteringSelect中的下拉列表 但是,filteringSelect似乎需要表单的响应 { "identifier": "abbreviation", "label": "name", "items": [ { "abbreviation": "AL", "name": "Alabama" }, { "abbreviation": "A

当然,应该可以对同一存储发出相同的查询,以使用相同的行填充dGrid(或任何其他形式的网格)和filteringSelect中的下拉列表

但是,filteringSelect似乎需要表单的响应

{
    "identifier": "abbreviation",
    "label": "name",
    "items": [
        { "abbreviation": "AL", "name": "Alabama" },
        { "abbreviation": "AK", "name": "Alaska" },

        { "abbreviation": "WY", "name": "Wyoming" }
    ]
}

and the dgrid needs 
[
        { "abbreviation": "AL", "name": "Alabama" },
        { "abbreviation": "AK", "name": "Alaska" },

        { "abbreviation": "WY", "name": "Wyoming" }
]
来自存储的标识符和标签属性似乎是完全超级的,因为您是通过identity API获取标识符的,并且在任何情况下,您都可以在实例化filteringselect时指定所有内容


是的,我知道有一些解决办法——我可以使用两个不同的存储或查询,让服务器端根据查询中的某个参数生成这两个存储或查询。但是如果我这样做,当我通过dgrid进行更改时,更改是否会正确传播?或者我可以用一些东西包装store API,将额外字段放在响应的前面,并将包装好的存储传递到filteringselect中,但是有没有更简单的方法?

使用数组创建数据存储,如:

var store = Observable(new Memory({ 
    idProperty: "abbreviation", 
    data: [ { 
        "abbreviation": "AL", "name": "Alabama" 
    }, { 
       "abbreviation": "AK", "name": "Alaska" 
    }, { 
      "abbreviation": "WY", "name": "Wyoming" 
    }]
 }));
然后,您可以将此存储设置为dgrid,如下所示:

dgrid.set('store', store);
对于您的filteringSelect,您可以将此存储设置为

new FilteringSelect({ 
    searchAttr:"name", 
    store: store 
});