Dojo 1.9如何在dojox / layout / TableContainer中添加空白?

时间:2014-04-22 06:30:36

标签: javascript dojo

如何在dojo TableContainer中添加空<td>

我有这段代码:

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

哪个TableContainer转换为(由于小部件标签而导致的6 td&#39;)

<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>

如何将第3组<td>设为空td&#39;

目前我已尝试跳过索引,因为我认为它只会跳过第3组col上的任何小部件。 例如:

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

以上代码只会导致javascript错误。 (这里是jsfiddle [http://jsfiddle.net/CfXqM/1/]演示跳过索引结果错误)

我唯一能想到的是创建一个具有<div>&nbsp</div>的虚拟小部件, 然后将该虚拟小部件添加到表容器中。

有没有其他方法可以在不创建虚拟小部件的情况下执行此操作?

编辑:

我真正想要实现的是使用TableContainer的表格布局:

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

有时我可能会或可能不会将小部件添加到第3列和第4列

编辑:

我采取的解决方案来自理查德。我使用了一个内容窗格,而不是建议的文本框。 http://jsfiddle.net/CMXG5/2/

1 个答案:

答案 0 :(得分:0)

我这样做的一个hacky方法是将TableBox添加到TableContainer中,然后将标签设置为“”,将文本框样式设置为“display:none;” (见下面的代码)。我通常使用它作为占位符,直到我想在那个插槽中放置一些东西,之后我会调整TextBox或从TableContainer中删除子节点并添加一个新的子节点。

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