ExtJs / Sencha: как выделить строку сетки после вставки? - PullRequest
3 голосов
/ 02 августа 2010

Я хочу создать такую ​​сетку: http://www.sencha.com/deploy/dev/examples/grid/edit-grid.html

На самом деле я уже это сделал, но я хочу выделить последнюю вставленную строку в моей сетке (в extjs это функция highlight (), которая выполняет желтую заливку элемента).

Мне не удалось это сделать ... моя проблема в том, что я не могу вставить строку, которую только что вставил, и, таким образом, очевидно, что не могу выделить ее. Любые подсказки?

Заранее спасибо

Ответы [ 5 ]

7 голосов
/ 02 августа 2010

Вам нужно только сделать это (здесь для строки номер один):

var row = grid.getView().getRow(0);
Ext.get(row).highlight();

Это так просто.

1 голос
/ 05 августа 2010

да, извините за ответ слишком поздно, используйте Ext.grid.RowSelectionModel, а затем используйте функцию selectLastRow, которую вы легко сможете указать:)

1 голос
/ 02 августа 2010

Код имеет

store.insert(0, p);

Так почему бы вам не выделить ноль строки сразу после этого оператора?

0 голосов
/ 22 октября 2013

Это будет происходить внутри вашего события кнопки добавления / создания.Код this.getSelectionModel().select(0); выделит первую строку, поскольку мы вставили в позицию 0, мы выбираем позицию 0. Этот код работает с ExtJS 4.2.0.

    var rec = Ext.create('App.model.GridModel', {
        id: '123',
        name: 'ABC'
    });

    this.store.insert(0, rec);  
    this.getSelectionModel().select(0);
0 голосов
/ 02 августа 2010

Ext.data.store имеет прослушиватель добавления, которому передается индекс, по которому были вставлены записи

add : ( Store this, Ext.data.Record[] records, Number index )

...