powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / DataGrid Cells
4 сообщений из 4, страница 1 из 1
DataGrid Cells
    #32490530
Фотография nex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть DataGrid

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<asp:datagrid id= "dgGroupDates"  runat= "server"  .......>
<columns>
   <asp:boundcolumn datafield= "groupname"  readonly= "True"  headertext= "Groupname" >
   </asp:boundcolumn>

   <asp:templatecolumn headertext= "Valid From" >
      <itemtemplate>
         <asp:textbox id= "txtGrpDateFrom"  runat= "server"  text='<%# DataBinder.Eval(Container, "DataItem.valid_from", "{0:dd.MM.yyyy}") %>'>
         </asp:textbox>
         <asp:button id= "btnGrpDateFrom"  runat= "server"  text= "..." ></asp:button>
      </itemtemplate>
   </asp:templatecolumn>

   <asp:templatecolumn headertext= "Valid To" >
      <itemtemplate>
         <asp:textbox id= "txtGrpDateTo"  runat= "server"  text='<%# DataBinder.Eval(Container, "DataItem.til_dt", "{0:dd.MM.yyyy}") %>'>
         </asp:textbox>
         <asp:button id= "btnGrpDateTo"  runat= "server"  text= "..." ></asp:button>
      </itemtemplate>				
   </asp:templatecolumn>
</columns>
</asp:datagrid>


Когда нажимается одна из кнопок (btnGrpDateFrom или btnGrpDateTo) вызывается обработчик (енто работает :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
private void dgGroupDatesItemCommand_Clicked(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{						
   // Row index сидит в e.Item.ItemIndex

   // Как можно заполучить Cell index на который юзер кликнул, что-бы потом сделать:

   switch(cellIndex) {
      case  1 :							
         ...
         ...
   }

   // или что-нибудь в этом роде...
}


Я просто хочу при нажатии кнопочек открывать календарик и давать возможность пользователю вабрать дату, но для этого мне нужно знать, какая из ячеек получит обновление: Date From (те. Cells[1]) или Date Tо (Cells[2])...

Возможно это вообще?
...
Рейтинг: 0 / 0
DataGrid Cells
    #32491200
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, сам подход не совсем верен.\r
nexЯ просто хочу при нажатии кнопочек открывать календарик и давать возможность пользователю вабрать дату\r
это все лучше органицовывать клиентскими скриптами.\r
Эта ссылка будет полезна
...
Рейтинг: 0 / 0
DataGrid Cells
    #32492182
Фотография nex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пасиба за ссылку.
Клиентским скриптом Я уже делал много раз, когда писал на PHP и Classic ASP.. там все понятно. Мне было интересно вот так сделать :)

Разобрался :)

Делаем так:

Добавляем CommandName параметр для кнопок

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
...
<itemtemplate>
   <asp:textbox id= "txtGrpDateFrom"  runat= "server"  text='<%# DataBinder.Eval(Container, "DataItem.fra_dt", "{0:dd.MM.yyyy}") %>'>
   </asp:textbox>

   <asp:button id= "btnGrpDateFrom"  runat= "server"  text= "..."  commandname= "valid_from" >
   </asp:button>
</itemtemplate>
...


и соответственно для второй ячейки
Код: plaintext
1.
commandname= "valid_to" 


Потом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
private void GroupDatesItemCommand_Clicked(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
   if (e.CommandName.Equals( "valid_from" )) {
      // Cell index :  1 
      // Row index : e.Items.DataSetIndex
   }
			
   if (e.CommandName.Equals( "valid_to" )) {
      // Cell index :  2 
      // Row index : e.Items.DataSetIndex
   }
}


Дальше дело техники :)
Наверное не очень красиво получилось (использовать параметры не по назначению), но все работает.
...
Рейтинг: 0 / 0
DataGrid Cells
    #32492224
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на сколько я понимаю подругому сделать нельзя, во всяком случае я таким же образом решал схожую задачу.
Всеже ИМХО, такие вещи надо делать на клиенте
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / DataGrid Cells
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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