Проблемы со связью (bind) между выделенной строкой grid и хранилищем
Я в модели вида определил переменную selectedGroupOrder:
formulas: {
selectedGroupOrder: function(get) {
return get("groupOrderList.selection");
},
В контроллере по определенному событию иногда сбрасываю выделение строки в таблице:
this.lookup("groupOrderList").getSelectionModel().deselectAll();
От selectedGroupOrder у меня есть зависимость:
stores: {
trolleyListStore: {
model: "Trolley",
autoLoad: true,
pageSize: 0,
remoteFilter: true,
filters: [{
property: "grorderid",
value: "{selectedGroupOrder.grorderid}"
}, {
property: "workstationType",
value: "{selectedGroupOrder.workstationTypeId}"
}]
}
}
Так вот проблема в том, что после сброса выделения строки хранилище trolleyListStore не перезагружается. Вот так попробовал:
stores: {
trolleyListStore: {
model: "Trolley",
bind: {
autoLoad: "{selectedGroupOrder}"
},
...
}
}
В этом случае перезагружается один раз (что собственно и понятно, так как selectedGroupOrder не определен и autoLoad становится равным false), на в фильтрах передаются не пустые value, а предыдущие. В итоге таблица содержит неправильные данные. И как все это настроить, чтобы работало как нужно? |
Временно решил проблему такой формулой:
selectedGroupOrderId: function(get) {
return get("selectedGroupOrder.grorderid");
},
Ощущение, будто это бага. |
А попробуйте сделать логическое описание в контроллере ваших действий...
|
не понял что сделать???
|
Я так понял, что при сбрасывании выделения строки в таблице нужно перезагрузить store.. может описать как есть в контроллере.. или я не так понял ?
|
Цитата:
И главное, код который сбрасывает выделение вообще-то не в курсе, какие есть зависимости от этого действия. И не должен быть в курсе. . |
| Часовой пояс GMT +3, время: 11:00. |