在dojo中切换网格

时间:2013-12-02 06:59:06

标签: javascript dojo

我试图在点击按钮时显示一个dojo网格。 这是单击按钮后调用的函数:

        function initAndDisplayDataGtrid(){

            var dataStore = new dojox.data.CsvStore({url: path});

            var chartDivNode=dojo.create("div");
            chartDivNode.setAttribute("id","chartDivId");
            chartDivNode.setAttribute("class", "toggle_container");

            var grid = new dojox.grid.DataGrid({
            query: {},
            store: dataStore,
            autoWidth:"2",
            autoHeight:"5",
            columnReordering:true,
            structure: chartLayout,
            noDataMessage: localizedLabel.NO_RESULTS

        });
            grid.placeAt("chartDivId");
            grid.startup();
        }

但是当我签入萤火虫时,这会引发错误:TypeError: _3d6 is null

此时不确定可能为null。

1 个答案:

答案 0 :(得分:1)

在您提供的代码中,您可以动态创建一个新元素,然后将其称为“chartDivId”。然后执行“placeAt”调用,将新创建的网格作为“chartDivId”的子项。但是,placeAt调用搜索文档并且找不到“chartDivId”,因为它尚未作为整体附加到文档中。

请参阅以下Dojo文档,了解如何创建新元素并将其插入页面。

http://dojotoolkit.org/reference-guide/1.7/dojo/create.html

似乎dojo.create()方法有参数。第一个是要创建的元素的类型,第二个是您可能希望传递的任何选项...但第三个是文档中应该附加新元素的位置。