Горячий, чтобы отключить выбор строки в сетке Ext.JS - PullRequest
8 голосов
/ 21 октября 2010

Как отключить выбор строки в сетке Ext.JS?

Ответы [ 3 ]

8 голосов
/ 21 октября 2010

Необходимо установить для свойства disableSelection значение true. Его значение игнорируется, если указана SelectionModel.

Например:

var grid = new Ext.grid.GridPanel({
    disableSelection: true,
    store: new Ext.data.Store({
        reader: reader,
        data: xg.dummyData
    }),
    columns: [
        {id:'company', header: "Company", width: 200, sortable: true, dataIndex: 'company'},
        {header: "Price", width: 120, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
        {header: "Change", width: 120, sortable: true, dataIndex: 'change'},
        {header: "% Change", width: 120, sortable: true, dataIndex: 'pctChange'},
        {header: "Last Updated", width: 135, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
    ],
    viewConfig: {
        forceFit: true,

//      Return CSS class to apply to rows depending upon data values
        getRowClass: function(record, index) {
            var c = record.get('change');
            if (c < 0) {
                return 'price-fall';
            } else if (c > 0) {
                return 'price-rise';
            }
        }
    },
    width:600,
    height:300,
    frame:true,
    title:'Framed with Checkbox Selection and Horizontal Scrolling',
    iconCls:'icon-grid'
});

Если вы хотите отключить выбор только некоторых строк, вы можете добавить прослушиватель к событию "beforerowselect" SelectionModel и вернуть false, если вы не хотите, чтобы строка была выбрана.

4 голосов
/ 28 февраля 2012

используйте этот конфиг, если у вас нет модели выбора для вашей сетки

var grid = new Ext.grid.GridPanel({
    disableSelection: true,
});

иначе вам понадобится этот маленький трюк, чтобы отключить выбор в RowSelectionModel

var grid = new Ext.grid.GridPanel({
    selModel : new Ext.grid.RowSelectionModel({selectRow: Ext.emptyFn})
});
1 голос
/ 10 декабря 2012

Вы можете сделать еще один трюк для своей сетки, выглядит так:

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