У меня есть Telerik RadGrid, и он содержит три столбца с уникальным именем OrderNo, SendToAddress и ResendLink.
Я хотел бы иметь столбец гиперссылок, который при нажатии вызывает функцию JavaScript, передавая значения из строки, в которой находится гиперссылка, в качестве параметров функции.
Следующий код работает, но только один раз на странице. При последующем обновлении метод выдает исключение (itemData имеет значение null). Примечание. sSearchResults - это объект POCO, используемый в качестве объекта передачи данных для возврата данных столбца.
Protected Sub dg2_ItemCreated(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles dg2.ItemCreated
If TypeOf e.Item Is GridDataItem Then
' Setup the Resend Link
Dim item As GridDataItem = CType(e.Item, GridDataItem)
Dim itemData As sSearchResults = CType(item.DataItem, sSearchResults)
Dim resendLink As HyperLink = DirectCast(e.Item.FindControl("ResendLink"), HyperLink)
resendLink.Attributes("href") = "javascript:void(0);"
resendLink.Attributes("onclick") = [String].Format("return ShowResendForm('{0}','{1}');",
itemData.OrderNo,
itemData.SendToAddress)
End If
End Sub
У меня есть подозрение, что приведенный выше код работал бы надежно, если бы я переместил его в событие ItemDataBound в сетке и установил для EnableViewState значение false. Я еще не пробовал и предпочел бы этого не делать.
Как правильно получить строки столбца данных строки для заполнения другого столбца, подобного этому, с помощью RadGrid?