当然应该可以对同一个商店发出相同的查询来填充dGrid(或任何其他形式的网格)以及具有相同行的filteringSelect中的下拉列表。
然而,看起来filterSelect需要表单
的响应{
"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" }
]
来自商店的标识符和标签属性似乎是完全超级的,因为您通过身份API获取标识符,并且在任何情况下,您可以在实例化过滤选择时指定所有内容。
是的我知道有解决方法 - 我可以使用两个不同的存储或查询,并让服务器端生成基于查询中的某些参数生成这两者。但是,如果我这样做,当我通过dgrid进行更改时,更改是否会正确传播?或者我可以使用将额外字段放在响应前面的东西包装商店API,并将包装的商店传递给filteringselect,但有更简单的方法吗?
答案 0 :(得分:0)
使用您的阵列创建数据存储,如:
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
});