【问题标题】:Accessing dynamically created Dojo datagrid by id通过 id 访问动态创建的 Dojo 数据网格
【发布时间】:2014-10-15 21:54:30
【问题描述】:

我是 Dojo 的新手,正在尝试使用一组动态创建的数据网格来完成一个页面。

每个网格的创建如下:

    membersGrid = new dojox.grid.DataGrid({
            query: { id: '*'},
            structure: membersLayout,
            store: membersStore,
            autoWidth: true,
            autoHeight: true,
            initialWidth: '650px',
            rowSelector: '5px',
            rowsPerPage: 20,
            selectable: true
            }, 'membersGridNode'+index.toString());

我在每个网格下都有一个动态创建的按钮,按下时会触发点击事件。从这个事件中我可以得到我的数据网格索引。

function performCopyAction (button) {

    var gridName = "membersGridNode"+button.id;
    var grid = dijit.byId(gridName);

...

从这里开始的想法是获取对象并访问数据网格上的选定行。但是,“网格”为空。我尝试了多种方法从 Google 搜索中获取网格对象,但我很难弄清楚我做错了什么。

【问题讨论】:

    标签: javascript html datagrid dojo


    【解决方案1】:

    当您动态或以声明方式创建和小部件/dijit 时,您需要指定id 属性,如下所示。如果未提供 id 属性,则 dojo dijit 系统分配一个唯一的 id。

    membersGrid = new dojox.grid.DataGrid({
        id: 'grid',
        ....
        ....
    

    然后在任何地方访问dijit

     var grid = dijit.byId('grid');
    

    【讨论】:

      猜你喜欢
      • 2012-04-25
      • 2010-12-03
      • 2011-05-21
      • 2019-06-25
      • 2016-04-29
      • 2011-07-20
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多