如何在ext.net 1.x中动态更改TableLayout

时间:2013-07-12 02:39:52

标签: ext.net

我有一个包含由TableLayout构建的表的ext.net页面。它与官方演示站点上显示的示例类似。 (link)唯一不同的是我在Cell内部有一个组合框,文本框,而不仅仅是一堆面板。

现在,需要根据组合框的选择动态隐藏一些文本框。我所做的是将组合框设置为AutoPostBack="true" OnValueChanged="comboboxname_OnValueChanged"

在该代码隐藏方法comboboxname_OnValueChanged中,我检查所选值并执行textboxname.Visible="false"。然后我意外地发现:包含该文本框的整个Cell被删除。而我的整个桌子搞砸了!

然后我的猜测是Cell必须保持原位以占据位置。我的下一个尝试是:

mytablelayout.Cells[5].Clear();
mytablelayout.Cells[5].Add(emptyLabel);

这里,索引5是包含我想要隐藏的文本框的表格单元格。 emptyLabelext.Label,不显示任何内容。不幸的是它不起作用。

我的第三个尝试是先建立一个空单元格。然后,

mytablelayout.Cells.RemoveAt(5);
mytablelayout.Cells.Insert(5, emptyCell);

我发现RemoveAt(5)可以成功执行,这又搞砸了我的桌子,因为下一个单元格正从它所假设的位置移动。但Insert(5, emptyCell)从未做过我想做的事。

现在我真的在我的智慧结束。任何ext.net专家都可以提供一些建议吗?你是如何操纵Cell中的TableLayout的?

感谢您提供任何有用的意见。

1 个答案:

答案 0 :(得分:0)

创建一个显示无的CSS类。

    .myClass {
                display: none;
             }

将textbox cls属性设置为之前创建的CSS类

    textboxname.cls = "myClass";