【问题标题】:Loading data grid in dojo during runtime在运行时在 dojo 中加载数据网格
【发布时间】:2012-06-26 12:58:01
【问题描述】:

我正在使用 dojo 框架在 JavaScript 中构建一个 Web 应用程序。我想在运行时创建新选项卡(我有一个 TabPane 并添加 ContentPanes)并想在该窗格中创建数据网格。 (特别是 LazyTreeGrids,但它们扩展了数据网格类,所以应该是一样的)

当我这样做时,我得到了几个错误:

ReferenceError
../dojo-release-1.7.2-src/dojo/_base/Deferred.js:216
Error parsing in _ContentSetter#Setter_dijit_layout_ContentPane_0_0 
ReferenceError
../dojo-release-1.7.2-src/dijit/layout/ContentPane.js:543
Error undefined running custom onLoad code: This deferred has already been resolved 

当我在没有数据网格的情况下运行 TabPane 时,或者如果我在没有 TabPane 的情况下运行数据网格(并且在页面加载时),它工作得很好。您有什么想法可以解决我的问题吗?

相关代码:

 dojo.ready(function(){
    var tabPanel = new dijit.layout.TabContainer({
        style: "height: 100%; width: 100%;"
    }, "mainWindow");

    //console.error("tset");
    var console = new contentPane.console("test");  


    var cp1 = new dojox.layout.ContentPane({
         title: "HomeScreen",
         content: ""
    });

    tabPanel.addChild(cp1);

    var cp2 = new dojox.layout.ContentPane({
         title: "+",
        content: ""
    });
    tabPanel.addChild(cp2);

    tabPanel.startup();

    require(["dojo/dom-attr"], function(domAttr){
        domAttr.set(cp1, "content", console.getContent() );
    });

});

【问题讨论】:

    标签: datagrid dojo runtime treegrid


    【解决方案1】:

    您必须确保在启动网格之前加载窗格。 请注意,您可以将网格作为 TabContainer 的直接子级。 tabContainer.addChild(myGrid);

    【讨论】:

    • 非常感谢您对我的问题感兴趣。我想使用一个包含网格的 contentPane,这样我也可以向它添加一些按钮。我尝试在加载网格之前初始化 contentPane,但要么我做错了,要么错误有其他原因。我在上面添加了相关代码。
    • 我认为 dojox.layout.ContentPane 是问题的一部分...您可以尝试使用普通的旧 dijit.layout.ContentPane 并告诉我情况如何?
    • 我使用 dojox 窗格是因为 dijit 窗格在执行脚本时出现问题。但我改变了它来测试你问我的差异,它似乎正是错误输出。
    • 一切似乎都表明 deferred 有问题。在您的网络面板中,您没有发送错误消息?
    • 不,所有内容都加载了“200 - OK”。我只是将 cp1 的添加内容代码放在一个按钮中,因此它会在创建 cp1 后明确添加,但错误仍然存​​在。我有一种感觉,网格以某种方式使用“onLoad”并且不能这样做,因为之前调用了 onLoad。这可能吗?
    猜你喜欢
    • 2011-04-02
    • 1970-01-01
    • 2012-02-14
    • 2011-03-05
    • 2020-10-16
    • 2013-06-03
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多