Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Dynamic DataGrid / 3 сообщений из 3, страница 1 из 1
10.04.2006, 11:30
    #33655272
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic DataGrid
Нужно в зависимости от условия рожать/не_рожать столбец, содержащий в некоторых строках, Button'ы. Т.е.: на основании данных в DataTable вычисляется SmthEtc. (Т.е. Признак рождения столбца вообще (Smth) получаем из-вне, а, вот, в каких строках добавлять Button (SmthEtc) получаем на основании данных в DataTable)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
...
DataTable
  dt=new DataTable();

if(FillInfo(dt))
{
   if(Smth)
   {
      BoundColumn
        tmpBoundColumn=new BoundColumn();

      tmpBoundColumn.HeaderText="ghost";
      dg.Columns.Add(tmpBoundColumn);
      dg.ItemCommand+=new DataGridCommandEventHandler(dg_ItemCommand);
   }
   dg.DataSource=dt;
   dg.DataBind();
}
...
private void dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
   if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
   {
      if(Smth && SmthEtc)			  
      {
         Button
           tmpButton=new Button();

         tmpButton.Text="Button";
         tmpButton.CommandName="ButtonCmd";
         tmpButton.CommandArgument=e.Item.Cells[ 0 ].Text;
         e.Item.Cells[e.Item.Cells.Count- 1 ].Controls.Add(tmpButton);
      }
   }
}
и не фурычит (т.е. по клику на кнопке в dg_ItemCommand не попадаю)
Что еще надо покрутить/подкрутить?
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
10.04.2006, 13:47
    #33655841
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic DataGrid
а если обрабатывать в ItemCreated
...
Рейтинг: 0 / 0
10.04.2006, 17:18
    #33656595
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dynamic DataGrid
big-dukeа если обрабатывать в ItemCreated
дык там же e.Item.Cells[0].Text==string.Empty

Просто переместил формирование/добавление DataGrid из OnLoad в OnInit и все заработало. Единственное: насколько я понял, согласно в начале идет OnLoad, а затем RaisePostBackEvent. Значит, по идее, уже ж было известно куда идти по event'у... BTW, соорудил дрозофилу и рожал там кнопки - все отрабатывает вне зависимости, где их рожать: в OnInit или в OnLoad. Чудеса

_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Dynamic DataGrid / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]