2013-07-12 2 views
0

У меня есть страница 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?

Благодарим вас за полезный ввод.

+0

Почему бы не скрыть текстовое окно со стилями = дисплей: доли не имеет? – MEYWD

+0

с помощью 'jQuery'? – Blaise

ответ

0

сделать класс CSS с дисплеем нет.

.myClass { 
       display: none; 
      } 

установить текстовое поле ЦБС свойство класса CSS, сделанное ранее

textboxname.cls = "myClass"; 
Смежные вопросы