2015-09-30 5 views
0

Мы используем EXT-JS 3.x. Чтобы выбрать записи со страниц, используйте метод selectRecords(). Теперь, когда я перемещаюсь по страницам, я могу выбирать записи. Но проблема в том, что при нажатии кнопки «Отправить» все видимые записи на страницах должны быть видимыми. Но ниже строки кода grid.getSelectionModel().getSelections() возвращает выбранные записи на текущей странице. Есть ли какие-либо опции для получения всех выбранных записей?Выбор между страницами в EXT JS 3.x

ответ

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); 

Я надеюсь, что я дам вам хороший пример, и это не сложная. Я не тестировал свой код, поэтому, возможно, вам придется немного поправить его.

Удачи вам!

+0

В каждой строке выберите и снимите флажок, я добавил выбранные записи в объект. Вместо того, чтобы извлекать выбор из grid.getSelectionModel(). GetSelections(), я получил выбранную запись из моего объекта. – Saranya