ExtJs checkboxselectionmodel - PullRequest
       12

ExtJs checkboxselectionmodel

3 голосов
/ 02 октября 2009

Я использую GridPanel с CheckboxSelectionModel для выбора элемента. В режиме редактирования, где некоторые параметры уже были выбраны, я пытаюсь предварительно выбрать строки при загрузке формы.

...
store.load();
//curSelections is an array containing the some ForeingKey IDs of the selected records.
...

for (var i = 0; i < curSelections.length; i++) {
    console.log('found personel ' + curSelections[i] + ' at ', 
                 store.findExact('Id', curSelections[i]));
    selectedRecords.push(store.findExact('Id', curSelections[i]));
}
//everything is fine according to console log.
checkGrid.getSelectionModel().selectRecords(selectedRecords, true);
formWin.show();

это не работает.

Я пытаюсь вызвать "selectRecords" также на некоторых других событиях страницы / формы, но ни одно из них даже не срабатывает.

grid.addListener('show',
grid.on('show',
formWin.on('activate',
formWin.on('show',....

часть кода сетки

var sm = new Ext.grid.CheckboxSelectionModel({
        singleSelect: false,
        sortable: false,
        checkOnly: true
    });
    checkGrid = new Ext.grid.GridPanel({
        xtype: 'grid',
        store: obPersonelStore,
        loadMask: true,
        layout: 'fit',
        height: 120,
        id: 'grdIsBirimiPersonelListesi',

        columns: [
            sm,
            {

Мне не хватает чего-то простого, но я не знаю, что это. Любая помощь очень ценится.

Ответы [ 3 ]

3 голосов
/ 02 октября 2009

Store.findExact возвращает числовой индекс . SelectionModel. selectRecords ожидает массив Record объектов. Вы пробовали selectRows вместо этого? Либо так, либо используйте store. getAt для извлечения записей по индексу для передачи в selectRecords ().

1 голос
/ 15 января 2011

попробовать:

var store = new Ext.data.Store({
  ...
});
var grid = new Ext.grid.GridPanel({
  store: store,
  ...
});
store.on('load', function() {
  grid.getSelectionModel().selectFirstRow();
});
store.load();
0 голосов
/ 02 октября 2009

Я не уверен на 100%, чего ты хочешь достичь. Вы сказали:

Нахожу выделенные строки из всего списка

Вы хотите сказать, что хотите выбрать каждую строку? В этом случае вы можете использовать метод selectAll() CheckboxSelectionModel.

Если вы хотите выбрать только некоторые строки, мне нужно сначала увидеть код, который вы используете, чтобы получить эти строки, но может случиться так, что вы захотите использовать selectRecords() вместо selectRows().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...