Как сделать selectRow в Ext.grid.EditorGridPanel - PullRequest
0 голосов
/ 01 ноября 2018

Работа над проектом, написанным на ExtJs 3.1.1:

Я хочу выделить всю строку в Ext.grid.EditorGridPanel на selectRow(), но этот метод отсутствует.

Если я поменяю тип сетки на Ext.grid.GridPanel, все станет хорошо.

Почему поведение Ext.grid.EditorGridPanel отличается от Ext.grid.GridPanel? Как выделить целый ряд?

Моя сетка выглядит следующим образом:

var grid = new Ext.grid.EditorGridPanel({
        id : 'g',
        store: store,
        trackMouseOver: true,
            ...
});

Код события выглядит так:

Ext.getCmp('g').on('click', function (e) {
    Ext.getCmp('g').getSelectionModel().selectRow(1);

    // this fires error "Uncaught TypeError: 
    //Ext.getCmp(...).getSelectionModel(...).selectRow is not a function"
}) ;

Скрипка: https://fiddle.sencha.com/#fiddle/2n8m&view/

1 Ответ

0 голосов
/ 01 ноября 2018

Вот ключ! Вам нужно переписать RowSelectionModel:

grid = new Ext.grid.EditorGridPanel({
  store: myStore,
  height: 500,
  border: false, frame: false,
  cm: myColumnModel,
  selModel: new Ext.grid.RowSelectionModel({singleSelect:true}),
...