【问题标题】:Dojo datagrid - Retrieve value for field of each column.Dojo datagrid - 检索每列字段的值。
【发布时间】:2011-10-19 09:23:30
【问题描述】:

我目前正在使用一个 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]。感谢您的帮助!

【问题讨论】:

    标签: javascript datagrid dojo field


    【解决方案1】:

    让我们试试这个。

    首先,您需要知道 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 的检查。

    【讨论】:

      猜你喜欢
      • 2013-07-27
      • 2021-06-03
      • 1970-01-01
      • 2012-04-02
      • 2023-04-04
      • 2010-12-11
      • 2018-12-18
      • 2011-05-23
      • 2011-10-07
      相关资源
      最近更新 更多