Проблемы со связью (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, время: 15:12. |