Мы используем EXT-JS 3.x. Чтобы выбрать записи со страниц, используйте метод selectRecords(). Теперь, когда я перемещаюсь по страницам, я могу выбирать записи. Но проблема в том, что при нажатии кнопки «Отправить» все видимые записи на страницах должны быть видимыми. Но ниже строки кода grid.getSelectionModel().getSelections()
возвращает выбранные записи на текущей странице. Есть ли какие-либо опции для получения всех выбранных записей?Выбор между страницами в EXT JS 3.x
0
A
ответ
0
Не знаю, может ли это быть здорово для вас, но я могу предложить вам использовать новый столбец в магазине, чтобы указать, выбрана ли строка или нет. Этот столбец будет логическим. Вы можете установить его значение с помощью listeners rowselect и rowdeselect. На отправке вы сможете запросить магазин, чтобы получить только записи с правильным значением индикатора.
Например:
var myStore = new Ext.data.JsonStore({ fields: [{name:"col1", type:"string"}, {name:"INDICATOR", type:"'boolean'"}] }); var myGrid = new Ext.grid.GridPanel({ store: store, columns: [...//Don't put the INDICATOR here sm: new Ext.grid.RowSelectionModel({singleSelect: false}), .... listeners: { rowselect: (e,index, record){ record.data["INDICATOR"] = true; }, rowdeselect: (e,index, record){ record.data["INDICATOR"] = false; }, .... } });
На отправить
var mySelection = myStore.query("INDICATOR", true);
Я надеюсь, что я дам вам хороший пример, и это не сложная. Я не тестировал свой код, поэтому, возможно, вам придется немного поправить его.
Удачи вам!
В каждой строке выберите и снимите флажок, я добавил выбранные записи в объект. Вместо того, чтобы извлекать выбор из grid.getSelectionModel(). GetSelections(), я получил выбранную запись из моего объекта. – Saranya