2014-04-22 66 views
0

如何在dojo TableContainer中添加一個空的<td>Dojo 1.9如何向dojox/layout/TableContainer添加空白​​?

我有這樣的代碼:

var tableContainer = new TableContainer({ 
    id : "filteTableContainer", 
    cols : 3 
}); 

哪個TableContainer轉化爲(6 TD是因爲小部件標籤):

<table> 
    <tr> 
    <td>widget1 label</td><td>widget1</td> 
    <td>widget2 label</td><td>widget2</td> 
    <td>widget3 label</td><td>widget3</td> 
    </tr> 
</table> 

我怎樣才能使第三組的<td>爲空TD的

目前我試過跳過一個索引,因爲我認爲它會直接跳過在第三組列上放置任何小部件。 例如:

tableContainer.addChild(productTypeIdTextBox,0); 
tableContainer.addChild(dummyButton,1); 
tableContainer.addChild(dummyTextBox1,3); 

上面的代碼只導致JavaScript錯誤。 (這裏是的jsfiddle [http://jsfiddle.net/CfXqM/1/]演示跳過索引結果的誤差)

我能想到的唯一的事情就是創建一個具有<div>&nbsp</div>一個虛擬控件,然後 說的AddChild虛擬部件表容器。

有沒有其他的方式來做到這一點,而不創建一個虛擬的小部件?

編輯:

什麼其實我是想實現將是一個表格佈局像這樣使用TableContainer:

|column1 | column2 | column3 | column4 
|label | widget |   | 
|label | widget | label | widget 
|label | widget |   | 
|label | widget |   | 

凡會有時候,我可能會或可能不會小部件添加到列3和4

編輯:

我採取的解決方案來自理查德。我使用了一個內容面板,而不是建議的文本框。 http://jsfiddle.net/CMXG5/2/

+0

您的'TableContainer'不在其'

'標記中有ID嗎? – Bucket

+0

@DesertIvy:是的。你有什麼建議? – mikes

+0

你可以請一個JSFiddle重現這個錯誤嗎?另外,你有什麼錯誤?我很難理解和重現你遇到的問題。 – Bucket

回答

0

我這樣做的一種奇怪的方式是,在TableContainer中添加一個TextBox到我想要的索引,然後將標籤設置爲「」,並將文本框樣式設置爲「display:none;」 (見下面的代碼)。我通常使用這個作爲佔位符,直到我想將某些東西放入該插槽中,之後我將調整TextBox或從TableContainer中移除子項並添加新的子項。

var cb = new CheckBox({ 
    "style": "display:none", 
    constraints: {places: 0} 
}); 
tableContainer.addChild(cb); 
+0

謝謝你的想法。而不是帶有樣式的文本框:display:none。我改爲使用內容窗格來填補我想留空的'​​'。這裏是我使用的jsfiddle:http://jsfiddle.net/CMXG5/2/ – mikes