通过id访问动态创建的Dojo数据网格

时间:2014-08-22 05:47:53

标签: javascript html datagrid dojo

我是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);

...

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

1 个答案:

答案 0 :(得分:0)

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

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

然后在任何地方访问dijit

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