Есть ли способ выбрать строку программно в Slickgrid 2.4.3? - PullRequest
1 голос
/ 02 апреля 2019

Я обновил свою таблицу 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.

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