我有一个 ext.net 页面,其中包含一个由TableLayout. 它与官方演示站点上显示的示例类似。(链接) 唯一不同的是我在这些Cells 中有组合框、文本框,而不仅仅是一堆面板。
现在,需要根据组合框的选择动态隐藏一些文本框。我所做的是将组合框设置为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高手能给点建议?你是如何操纵 a 中的Cells 的TableLayout?
感谢您提供任何有用的意见。