2011-06-30 55 views
2

的TableContainer聲明在HTML像這樣:如何編程添加列W /標籤於聲明dojox.layout.TableContainer(道場1.6)

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

我嘗試添加包含一個TextBox編程像這樣的一行:

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

TextBox將顯示在表格下方並且不顯示標籤。如何在表格中放置帶有標籤的新行?

回答

1

耶有一些問題與tablecontainer,所建議的工作圍繞這一問題將是

<div id='myTable'></div> 

聲明DIV在HTML,但它轉換成tableContainer腳本然後ü可以使用兩種如何避免錯誤

初始化表容器腳本像

var myTable=new dojox.layout.TableCOntainer({cols:1},"myTable");

don't forget to startup our table container after adding the childrens 

在此之後,你可以很容易地添加任何數量的孩子通常

2

我很確定這是一個錯誤。它看起來像一旦TableContainer第一次啓動,添加孩子不會觸發新的layout()等。一個快速但可怕的解決方法是讓TableContainer「忘記」它已經被初始化並開始,然後手動運行startup()

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

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

我採取任何不可預見的自然風景不承擔任何責任,這可能會導致雖然:-)通常操作private成員(從下劃線的那些)是一個壞主意。