0

我有一个 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

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

4

1 回答 1

0

制作一个不显示的 CSS 类。

    .myClass {
                display: none;
             }

将文本框 cls 属性设置为之前创建的 CSS 类

    textboxname.cls = "myClass";
于 2013-07-12T13:24:36.467 回答