Щелчок по строке панели ExtJS GridPanel

#extjs

#extjs

Вопрос:

Я разработал панель ExtJS GridPanel и ввел данные из базы данных. Мое требование заключается в том, чтобы при нажатии на строку сетки (например, кнопку редактирования) получать идентификатор из сетки и заполнять окно конкретными данными (извлекать данные, используя идентификатор из базы данных). Как я могу этого добиться?

Ответ №1:

Используйте это:

             grid.on('rowclick', function(grid, rowIndex, columnIndex, e) {
                console.log(grid, rowIndex, columnIndex, e);
            }, this);
  

Редактировать: Проблемы, связанные с сеткой, см. в разделе часто задаваемых вопросов по сетке ExtJS

Комментарии:

1. Согласно этой странице документа , аргументы обработчика события rowclick должны быть такими: rowclick( this, record, tr, rowIndex, e, eOpts )

Ответ №2:

Добавьте его в прослушиватель grid:

 listeners: {
    cellclick: function (grd, rowIndex, colIndex, e) {
       var record = grd.getStore().getAt(rowIndex);
       var record = grd.getStore().getAt(rowIndex);
    }
}
  

Комментарии:

1. Согласно этой странице документа , аргументы celllcick обработчика должны быть такими: cellclick( this, td, cellIndex, record, tr, rowIndex, e, eOpts )

2. Пожалуйста, обратите внимание: Приведенный выше код был написан для версии 3.4. По очевидным причинам, любое обновление в версии Sencha (в данном случае 5.0) может добавлять / вычитать праметризованные методы. Вы должны соответствующим образом проверить. Дайте мне знать, есть ли что-то конкретное, с чем вы боретесь?

Ответ №3:

Взгляните на этот пример из Ext JS 3.3 Examples, он имеет механику, аналогичную описанной вами. Основной исходный код можно увидеть здесь.

Вероятно, стоит взглянуть и на другие официальные примеры, связанные с сеткой (привязка данных и т.д.).

Комментарии:

1. хммм… вся ваша ссылка является ссылкой href на финальную версию 4 .. sencha обновила ее..