如何以编程方式将带标签的行添加到声明性dojox.layout.TableContainer(Dojo 1.6)

如何以编程方式将带标签的行添加到声明性dojox.layout.TableContainer(Dojo 1.6),dojo,Dojo,TableContainer是用HTML声明的,如下所示: <div dojoType="dojox.layout.TableContainer" jsId="myTable" id="myTable" cols="1"> <!-- stuff --> </div> 文本框将显示在表格下方,不显示任何标签。如何在表中放置带有标签的新行?我很确定这是一个错误。看起来,一旦TableContainer第一次启动,添加子项不会触发新的layout

TableContainer是用HTML声明的,如下所示:

<div dojoType="dojox.layout.TableContainer" jsId="myTable" id="myTable" cols="1">
    <!-- stuff -->     
</div>

文本框将显示在表格下方,不显示任何标签。如何在表中放置带有标签的新行?

我很确定这是一个错误。看起来,一旦TableContainer第一次启动,添加子项不会触发新的
layout()
等。一个快速但可怕的解决方法是让TableContainer“忘记”它已经初始化和启动,然后手动运行
startup()

var tb = new dijit.form.TextBox({
            label: "Name"
        });
myTable.addChild(tb);

myTable._initialized = false;
myTable._started = false;
myTable.startup();

我对可能导致的任何不可预见的异常情况概不负责:-)通常操作私有成员(以下划线开头的成员)是个坏主意。

是的,tablecontainer存在一些问题,建议解决此问题的方法是

<div id='myTable'></div>
在此之后,您可以轻松地添加任意数量的child

<div id='myTable'></div>
don't forget to startup our table container after adding the childrens