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

Логин

Email:
  Пароль:

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

Поиск

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

Сообщение

shekk


Молчун

Зарегистрирован:
29 April 2008
Сообщения: 36
Примеры кода: 0
 

Динамически создаваемые GridView - их надо отрисовывать каждый раз при перезагрузке страницы?

29 July 2008 09:25  


Доброго времени суток!
Возникла следующая проблема: созданные динамически в PageLoad внутри условия
!Page.IsPostBack несколько элементов GridView (заранее количество не известно, обуславливается входными данными), само сабой, успешно исчезают после выполнения любого действия, вызывающего перезагрузку страницы (нажатие кнопки, смена значения в DropDownList).
Получается, надо кажый раз перерисовывать элементы заново. А таблиц может быть немало. Хотелось бы нарисовать их при первой загрузке, а дальше лишь делать DataBind, ведь количество таблиц и столбцы в них не изменятся в процессе работы со страницей, могут измениться только данные. Возможно ли каким-то образом этого достичь?
Сейчас таблицы создаются так:

for (int i = 0; i < ds.Tables["service"].Rows.Count; i++)
{
    System.Web.UI.WebControls.Label LabelB = new System.Web.UI.WebControls.Label();
    LabelB.Text = ds.Tables["service"].Rows[i][0].ToString();
    Panel2.Controls.Add(LabelB);
    GridView gv = new GridView();
    gv.ID = "GridView" + (i + 3).ToString();
    gv.AutoGenerateColumns = false;
    gv.AllowSorting = true;
    gv.CellPadding = 4;
    BoundField bf1 = new BoundField();
    bf1.DataField = "server";
    bf1.HeaderText = "Источник данных";
    bf1.ShowHeader = false;
    bf1.HeaderStyle.CssClass = "tableinput";
    BoundField bf2 = new BoundField();
    bf2.DataField = "base";
    bf2.HeaderText = "База";
    bf2.ShowHeader = false;
    bf2.HeaderStyle.CssClass = "tableinput";
    CommandField cf = new CommandField();
    if (ds.Tables["service"].Rows[i][2].ToString() == "1") cf.ShowDeleteButton = true;
    else cf.ShowEditButton = true;
    gv.Columns.Add(bf1);
    gv.Columns.Add(bf2);
    gv.DataSource = ds.Tables["AddConnection" + i];
    gv.Columns.Add(cf);
    Panel2.Controls.Add(gv);
    gv.DataBind();
}




Наверх
  



DataGrid, DataList, Repeater

 Динамически создаваемые GridView - их надо отрисовывать каждый раз при перезагрузке страницы?shekk  29 July 2008 09:25
 Re: Динамически создаваемые GridView - их надо отрисовывать каждый раз при перезагрузке страницы?gerss  29 July 2008 13:54
 RE: Re: Динамически создаваемые GridView - их надо отрисовыв...shekk  29 July 2008 16:11
 RE[2]: Re: Динамически создаваемые GridView - их надо отрисо...shekk  29 July 2008 16:13
 
Наш Киев

Apartments for Rent

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