powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Click на DataGrid
4 сообщений из 4, страница 1 из 1
Click на DataGrid
    #33124861
ВасяVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как поймать событие на клик по Item в DataGrid?
...
Рейтинг: 0 / 0
Click на DataGrid
    #33125014
Abuserrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для итема, который тебя интересует надо задать CommandName="MyComand".
Далее в событии грида ItemCommand пишешь:
if (e.CommandName=="MyComand")
{
//твой код
}
...
Рейтинг: 0 / 0
Click на DataGrid
    #33125125
ВасяVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно пример?
Вот так я инициализирую гриду

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        Dim cmd As System.Data.SqlClient.SqlCommand
        Dim da As SqlClient.SqlDataAdapter
        Dim ds As DataSet
        Call CreateConnection()

        da = New SqlClient.SqlDataAdapter("select * from v_Users", mcon)


        ds = New DataSet
        da.Fill(ds, "v_Users")
        grd.DataSource = ds.Tables("v_Users").DefaultView
        grd.DataBind()
        mcon.Close()

Как мне Item задать CommandName, можно это сделать в событии grd_ItemDataBound?
...
Рейтинг: 0 / 0
Click на DataGrid
    #33125218
Abuserrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы сделать то что ты хочешь в моем варианте тебе прийдется создавать ИтемТемплейты, тоесть AutoGenerateColumns=false.
Вот тебе пример такого грида:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<asp:datagrid id="dg1" runat="server" Width="100%" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn Visible="False" HeaderText="ID">
<ItemTemplate>
   <asp:Literal ID="JobOrder" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.JobOrder") %>'>
   </asp:Literal>
</ItemTemplate>
</asp:TemplateColumn>
   <asp:TemplateColumn HeaderText="Описание">
   <HeaderStyle Width="60%"></HeaderStyle>
   <ItemStyle VerticalAlign="Top"></ItemStyle>	
<ItemTemplate>
<asp:Literal runat="server" Text='<%# FormatStringInGrid(DataBinder.Eval(Container, "DataItem.MyField")) %>'>	</asp:Literal>
</ItemTemplate>					
</asp:TemplateColumn>

<asp:TemplateColumn>
   <ItemTemplate>	
       <asp:LinkButton ID="lbUp" Runat="server" Text='/\' CommandName="MyCOMAND"></asp:LinkButton>
   </ItemTemplate>
</asp:TemplateColumn>

</Columns>
</asp:datagrid>

А уже после в событии ItemCommand пишешь:
if (e.CommandName=="MyCOMAND")
{
//твой код
}


С помощью ItemDataBound можно поставить джава-скрипт на нажатие (тебе нужно знать ID итема). Точно не знаю каким он будет, если грид формируется автоматически (никогда так не делал), но думаю что оно может быть = названию колумна в твоей базе.
Вот тебе пример ItemDataBound

Код: plaintext
1.
2.
3.
4.
5.
if(e.Item.ItemType==ListItemType.Item ||e.Item.ItemType==ListItemType.AlternatingItem ||e.Item.ItemType==ListItemType.EditItem ||e.Item.ItemType==ListItemType.SelectedItem)
{
   LinkButton  btn=(LinkButton) e.Item.FindControl("MyControl");
   btn.Attributes.Add("onclick","MyFunction()");
}
MyFunction - джава-скрипт.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Click на DataGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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