У меня есть страница ext.net, содержащая таблицу, созданную TableLayout
. Это похоже на пример, показанный на официальном демонстрационном сайте. (link) Единственное отличие - у меня есть поле со списком, текстовое поле внутри этих Cell
s, а не просто группа панелей.Как динамически изменять TableLayout в ext.net 1.x
Теперь необходимо динамически скрыть некоторые текстовые поля на основе выбора combobox. То, что я сделал, - установить combobox на 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
s в TableLayout
?
Благодарим вас за полезный ввод.
Почему бы не скрыть текстовое окно со стилями = дисплей: доли не имеет? – MEYWD
с помощью 'jQuery'? – Blaise