Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

mumps


Книжник

Зарегистрирован:
15 November 2007
Сообщения: 165
Примеры кода: 0
 

Вложенные динамические контролы в Table - ???

12 March 2008 16:07  


Коллеги, пришлось не от хорошей жизни сделать что-то вроде GridView. Нужна была табличка с динамическим заполненеием по дататейблу. При этом в клетках таблицы должны быть вложенные контрольчики. Пронаследовался от Table, в дизайнере состряпал ей хедер, создал свойство DataSource типа DataTable. Присваивается на онЛоаде страницы.
В пререндере контрола сделал примерно следующее:

            base.OnPreRender(e);
            if (!Page.IsPostBack)
            {
                int i;
                TableRow newRow;
                TableCell newCell;
                WebControl innerControl; // это создаваемый внутри клетки контрол
                DataView tmpView;
                for (i = 0; i < DataSource.Rows.Count; i++)
                {
                    newRow = new TableRow();
                    newRow.EnableViewState = true;
                    newCell = new TableCell();
                    newCell.Text = DataSource.Rows[i]["AttrName"].ToString(); ;
                    newRow.Cells.Add(newCell);
                    newCell = new TableCell();
                    newCell.EnableViewState = true;
                    innerControl = CreateEdit(DataSource.Rows[i]);
                    newCell.Controls.Add(innerControl);
                    newRow.Cells.Add(newCell);
                    Rows.Add(newRow);
                }
            }


При этом получил следующие вещи:
а) при вызове любого серверного обработчика динамически созданные строки теряются, остаётся только хедер;
б) изменения во вложенных контролах ни на что не влияют, хотя им, вроде, тоже задавались EnableViewState; обработчики изменений, розданные им, не вызываются.

Я так понимаю, что надо каким-то образом обрабатывать ViewState, хотя могу и ошибаться.
У кого есть подобный опыт?

Спасибо.
Отец, конечно, сам может. Но у быка лучше получается.
Наверх
  



Создание элементов управления

 Вложенные динамические контролы в Table - ???mumps  12 March 2008 16:07
 RE: Вложенные динамические контролы в Table - ???mumps  13 March 2008 16:47
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта