Здравствуйте, Apetrenko, Вы писали:
A>Ситуация такая.
A>Есть DataGrid, в определенные ячейки нужно кинуть link и на клик на любой из link(URLLabel) A>вызвать функцию C# с определенным параметром.
A>Как заполнить ручками определенные ячейки DataGrid я знаю. A>А вот как создать урл и повесить на него функцию С# не знаю. Где копать?
A>Спасибо.
Можно перехватывать событие ItemCommand и вызывать свою функцию напрямую.
Здравствуйте, rus blood, Вы писали:
RB>Здравствуйте, Apetrenko, Вы писали:
A>>Ситуация такая.
A>>Есть DataGrid, в определенные ячейки нужно кинуть link и на клик на любой из link(URLLabel) A>>вызвать функцию C# с определенным параметром.
A>>Как заполнить ручками определенные ячейки DataGrid я знаю. A>>А вот как создать урл и повесить на него функцию С# не знаю. Где копать?
A>>Спасибо.
RB>Можно перехватывать событие ItemCommand и вызывать свою функцию напрямую.
В коде ascx был обработчик ItemCommand, примерно такой.
(писалось на vb, но это не суть).
Private Sub DataGrid_Sheet_ItemCommand( _
ByVal source As Object, _
ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) _
Handles DataGrid_Sheet.ItemCommand
'we should check what the control have raised the eventDim pControl As WebControl
Dim pRowView As DataRowView
....
'check the item type of event sourceIf e.Item.ItemType <> ListItemType.AlternatingItem And _
e.Item.ItemType <> ListItemType.Item And _
e.Item.ItemType <> ListItemType.EditItem And _
e.Item.ItemType <> ListItemType.SelectedItem Then
Exit Sub
End If'obtain the source control
pControl = e.CommandSource
....
'check the type of source controlSelect Case pControl.ID
Case"LinkButton_ProposalID"'the poroposal ID was clicked, fire item selected eventRaiseEvent ItemSelect(e.Item.ItemIndex, ....)
Case"ImageButton_Status"'the Status button was clicked, fire item delete eventRaiseEvent ItemStatus(e.Item.ItemIndex, ....)
Case Else
Exit Sub
End Select
End Sub
Контрол rais-ит события. Страница подписывается на события контрола.
Имею скафандр — готов путешествовать!
Re: Динамически создать компонент.
От:
Аноним
Дата:
10.06.04 13:21
Оценка:
Здравствуйте, Apetrenko, Вы писали:
A>Ситуация такая.
A>Есть DataGrid, в определенные ячейки нужно кинуть link и на клик на любой из link(URLLabel) A>вызвать функцию C# с определенным параметром.
A>Как заполнить ручками определенные ячейки DataGrid я знаю. A>А вот как создать урл и повесить на него функцию С# не знаю. Где копать?
сунуть в ячейку стандартный HyperLinkButton (или как там его..)
Re[2]: Динамически создать компонент.
От:
Аноним
Дата:
10.06.04 13:51
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Apetrenko, Вы писали:
A>>Ситуация такая.
A>>Есть DataGrid, в определенные ячейки нужно кинуть link и на клик на любой из link(URLLabel) A>>вызвать функцию C# с определенным параметром.
A>>Как заполнить ручками определенные ячейки DataGrid я знаю. A>>А вот как создать урл и повесить на него функцию С# не знаю. Где копать? А>сунуть в ячейку стандартный HyperLinkButton (или как там его..)
Окей, всуну.
Но их много. как определить на кого нажали и соответственно запустить C# функцию?
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Apetrenko, Вы писали:
A>>>Ситуация такая.
A>>>Есть DataGrid, в определенные ячейки нужно кинуть link и на клик на любой из link(URLLabel) A>>>вызвать функцию C# с определенным параметром.
A>>>Как заполнить ручками определенные ячейки DataGrid я знаю. A>>>А вот как создать урл и повесить на него функцию С# не знаю. Где копать? А>>сунуть в ячейку стандартный HyperLinkButton (или как там его..)
А>Окей, всуну.
А>Но их много. как определить на кого нажали и соответственно запустить C# функцию?
установить CommandName одинаковое для всех, CommandArgument специфичное для каждого например Id строки
обработать событие ItemCommand Грида, проверяя выше указаные параметры
A>>>Есть DataGrid, в определенные ячейки нужно кинуть link и на клик на любой из link(URLLabel) A>>>вызвать функцию C# с определенным параметром. A>>>Как заполнить ручками определенные ячейки DataGrid я знаю. A>>>А вот как создать урл и повесить на него функцию С# не знаю. Где копать? А>>сунуть в ячейку стандартный HyperLinkButton (или как там его..)
А>Но их много. как определить на кого нажали и соответственно запустить C# функцию?
В обработчике ItemDataBound грида находишь нужный контрол (LinkButton), и назначаешь ему обработчик нажатия. Соответственно, в обработчике делаешь, что нужно. Примерно так: