在dgrid(dojo)中检索选定的单元格信息

时间:2012-04-26 08:17:18

标签: dojo dgrid

我在我的dojo项目中使用dgrid组件。我有一个网格和一个按钮。 我已在网格上启用了单元格选择。

如何检索所选单元格的信息(数据)?我的用例就是每当我点击按钮时我都应该能够获得与网格中选定单元格相关联的数据。

我尝试在https://github.com/SitePen/dgrid/wiki/Components-Mixins查找文档,但找不到任何相关信息。

3 个答案:

答案 0 :(得分:2)

https://github.com/SitePen/dgrid/blob/master/demos/dTuned/index.html的示例中,使用mixins创建网格。

window.grid = new (declare([Grid, Selection, Keyboard, Hider]))({
    ...
}, "grid");

选择mixin具有以下属性:

// 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: {},

答案 1 :(得分:1)

例如,您可以使用网格中的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;
}

答案 2 :(得分:0)

您应该使用CellSelection mixin

selection对象可以访问所选单元格,dgrid-select属性可以访问dgrid-deselectcells内部事件。

来自mixin的文档:

  

选择对象存储嵌套哈希,其中外部哈希按项ID键入,内部哈希按列ID键入。

     

dgrid-select和dgrid-deselect事件仍然会触发,但包含一个包含单元格对象数组的cells属性,而不是rows属性。