Получение информации о выбранной ячейке в 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 по-прежнему генерируются, но содержат свойство ячейки, содержащее массив объектов ячейки, а не свойство строк.

Другие вопросы по тегам