javascript - Dojo datagrid - 检索每列字段的值。

标签 javascript datagrid dojo field

我目前正在使用 dojo 数据网格,我希望能够遍历包含网格每个字段的所有值的列表。例如说我的网格有这些列:

      <th field="name" width="200px">Name</th>
      <th field="description" width="200px">Description</th>
          <th field="type" width="200px">Type</th>

如何获取所有字段值的列表?在这个例子中,列表应该是 [name, description, type]。感谢您的帮助!

最佳答案

让我们试试这个。

首先,您需要知道 dijit 的 ID。如果它是自动生成的(因为您在 HTML 中声明您的 DataGrid),您可能需要使用 dojo.query 来查找 DOM 节点,并使用 dijit.byNode(node)找到 dijit。以下示例假定您知道 ID。

var fields = [];
var getFields = function(object) {
    // recurse to handle stacked rows
    if(dojo.isArray(object)) {
        dojo.forEach(object, function(o) {
            getFields(o);
        });
    } else if(object.field) {
        fields.push(object.field);
    } else if(object.cells) {
        getFields(object.cells);
    }
};
var structure = dijit.byId("dojox_grid_DataGrid_0").structure;
getFields(structure);
console.log(fields);

这将递归处理 Grid 的结构,查找具有 field 属性的任何对象。

更新 我必须为声明性网格添加 object.cells 检查。

关于javascript - Dojo datagrid - 检索每列字段的值。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6931726/

相关文章:

javascript - Angular 在 ng-src 中对 url 进行编码,并将 '/' 替换为 %2F,将 '?' 替换为 %3F

javascript - 选择具有特定文本的按钮仅在单击事件时激活

silverlight - 样式化数据模板以适应 silverlight 数据网格列标题

c# - 使用紧凑框架 3.5 从数据网格中检索数据

Silverlight DataGridTextColumn 绑定(bind)可见性

javascript - 从按钮中间打开下拉菜单

javascript - 使用 dojo 的 dojox.dgauges 中的 textIndicatorPrecision

javascript - Office ContentControls 列表不准确

javascript - 如何使 Dojox.dgauges 指示器出现和消失

javascript - 如何查找文件中所有字符的字符代码