Я обновил свою таблицу slickgrid с 2.3.2 до 2.4.3.Весь мой код работает хорошо, редакторы, средства форматирования, пост-рендеринг и т. Д. В старой версии сетки я нашел способ программным образом выбрать любую строку и сделать ячейку редактируемой, а также вызвать функцию обратного вызова onSelectionChange.После обновления до новой версии я не смогу сделать то же самое.
Я создаю конструктор-оболочку для сетки, в этом классе я написал:
...
this.getGrid().setSelectionModel( new Slick.RowSelectionModel() );
....
/**
* @param {Number} values.id
* @param {String} values.column
* @param {Boolean} values.forceEdit
*/
this.selectRow = function ( values ) {
var row = this.getDataView().getIdxById( values.id );
if ( values.column ) {
var cell = this.getGrid().getColumnIndex( values.column );
this.getGrid().gotoCell( row, cell, values.forceEdit );
} else {
setTimeout( function ( ) {
self.getGrid().setSelectedRows( [values.id] )
}, 200 )
}
}
...
Таким образомячейка становится корректной в режиме редактирования, потому что редактор отображается в сетке, но строка не выбрана правильно и обратный вызов onSelectionChange не вызывается.Метод тот же, что и в предыдущей версии slickgrid.