我有一个包含由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是包含我想要隐藏的文本框的表格单元格。 emptyLabel
是ext.Label
,不显示任何内容。不幸的是它不起作用。
我的第三个尝试是先建立一个空单元格。然后,
mytablelayout.Cells.RemoveAt(5);
mytablelayout.Cells.Insert(5, emptyCell);
我发现RemoveAt(5)
可以成功执行,这又搞砸了我的桌子,因为下一个单元格正从它所假设的位置移动。但Insert(5, emptyCell)
从未做过我想做的事。
现在我真的在我的智慧结束。任何ext.net
专家都可以提供一些建议吗?你是如何操纵Cell
中的TableLayout
的?
感谢您提供任何有用的意见。
答案 0 :(得分:0)
创建一个显示无的CSS类。
.myClass {
display: none;
}
将textbox cls属性设置为之前创建的CSS类
textboxname.cls = "myClass";