Получение данных строки грида при нажатии сторонней кнопки
Прошу прощения за немного ламерские вопросы, углубленно ExtJs начал изучать только недавно.
Есть ExtJs 4.0.х Есть грид, связанный с JSON-вским стореджем, данные подтягиваются сценарием из SQL сервера, грид отображает из стореджа пару полей. Есть кнопка, при нажатии на которую должна удаляться строка из таблицы данных, читаемая стореджем грида. Вопрос. Как получить строку с данными (для извлечения из нее id удаляемого элемента) при нажатии на кнопку ? Первое что пришло на ум - обрабатывать в гриде эвент выбора строки и писать в стороннюю переменную id или ссылку на элемент стореджа, а затем на клике кнопки эти данные считывать и передавать ajax запросом в сценарий. Может есть красивее путь ? |
handler: function(){ //получаем модель из grid var sm = grid.getSelectionModel(); //проверяем была ли выбрана строка if (sm.hasSelection()) { //получаем поле id из выбранной строки. //Поле соответственно должно существовать //оно может быть как скрытым (не показываться в гриде), так и отдельным столбцом var id = sm.selected.items[0].data.id; ............................ возможно есть и более красивый путь, особенно для строки sm.selected.items[0].data.id - но так работает тоже. |
Можно так:
var id = sm.getSelected().data.id; |
А если это EditorGridPanel, то grid.getSelectionModel().selection.record.data.id
|
... var record = grid.getSelectionModel().getSelected(); if(!record) return false; var id = record.get('id'); ... |
Часовой пояс GMT +3, время: 21:59. |