2011-06-30 10 views
2

TableContainerがそうのようなHTMLの中で宣言されています(道場1.6)

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

私はプログラム的にそうようなテキストボックスを含む行を追加してみました:

TextBoxはテーブルの下に表示され、ラベルは表示されません。どのようにしてテーブル内にラベル付きの新しい行を配置できますか?

答えて

1

tablecontainerといくつかの問題があるええ、この問題の回避を示唆作業が

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

はその後、uは両方の使用を持つことができるHTMLにdiv要素を宣言しますが、スクリプトでtableContainerに変換だろうバグ

を避ける方法は

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

ようなスクリプトでは、テーブルコンテナを初期化します

これ以降、任意の数の子を簡単に追加できます。

2

私はこれがバグだと確信しています。それは、初めてTableContainerが起動したときのように見えます。子供には新しいlayout()などを起動させることはありません。すばらしいが、恐ろしい回避策は、既に初期化され起動されていることを「忘れる」ようにしてから、startup()を手動で実行する。

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

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

は私が:-)通常プライベートメンバー(アンダースコアで始まるもの)を操作することは悪い考えですが、これが原因かもしれない不測の奇妙について一切の責任を負いません。

関連する問題