【发布时间】:2013-07-12 21:24:36
【问题描述】:
我有一个 ext.net 页面,其中包含一个由 TableLayout 构建的表格。它与官方演示站点上显示的示例类似。 (link) 唯一不同的是我有组合框,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 专家可以提供一些建议吗?你是如何在TableLayout 中操作Cells 的?
感谢您提供任何有用的意见。
【问题讨论】:
-
为什么不隐藏带有styles = display:none的文本框?
标签: ext.net