Получение информации о выбранной ячейке в dgrid (dojo)
Я использую компонент dgrid в моем проекте dojo. У меня есть одна сетка и кнопка. Я включил выбор ячеек на сетке.
Как получить информацию (данные) о выбранной ячейке? Мой вариант использования: всякий раз, когда я нажимаю кнопку, я могу получить данные, связанные с выбранной ячейкой в сетке.
Я попытался найти документацию по адресу https://github.com/SitePen/dgrid/wiki/Components-Mixins но не смог найти никакой соответствующей информации.
3 ответа
В примере на https://github.com/SitePen/dgrid/blob/master/demos/dTuned/index.html сетка создается с использованием миксинов.
window.grid = new (declare([Grid, Selection, Keyboard, Hider]))({
...
}, "grid");
Миксин выбора имеет следующее свойство:
// selection:
// An object where the property names correspond to
// object ids and values are true or false depending on whether an item is selected
selection: {},
Например, вы можете реализовать метод для возврата выбранных ячеек, используя свойство select и метод cell() из сетки.
getSelectedCells: function() {
var cell,
results = [];
for (var rowIdx in grid.selection) {
for (var colIdx in grid.selection[rowIdx]) {
cell = grid.cell(rowIdx, colIdx);
results.push(cell);
}
}
return results;
}
Вы должны использовать CellSelection mixin.
Выбранные ячейки могут быть доступны selection
объект или внутри dgrid-select
а также dgrid-deselect
события его cells
имущество.
Из документации миксин:
Объект выбора хранит вложенный хеш, где внешний хеш-код идентифицируется идентификатором элемента, а внутренние хеш-коды - идентификатором столбца.
События dgrid-select и dgrid-deselect по-прежнему генерируются, но содержат свойство ячейки, содержащее массив объектов ячейки, а не свойство строк.