7 Answers, 1 is accepted
http://www.telerik.com/DEMOS/ASPNET/Prometheus/Grid/Examples/GeneralFeatures/ColumnTypes/DefaultCS.aspx
Other thing is to attach the ItemDataBound event of the grid and change the url for the generated link in the cell. The link should be the first control in the Controls collection of the cell (I understood it from here).
Prangadj
Try the following code snippet to achieve the desired scenario.
CS:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) |
{ |
if (e.Item is GridDataItem) |
{ |
GridDataItem item = (GridDataItem)e.Item; |
HyperLink hyplnk = (HyperLink)item["columnUniqueName"].Controls[0]; |
string strVal = item["ProductName"].Text.ToString(); |
if (strVal == "Chai") |
{ |
hyplnk.NavigateUrl = "~/Default1.aspx"; |
} |
else if (strVal == "Coffee") |
{ |
hyplnk.NavigateUrl = "~/Default2.aspx"; |
} |
else |
{ |
hyplnk.NavigateUrl = "~/Default3.aspx"; |
} |
} |
} |
Thanks
Shinu.
Specified argument was out of the range of valid values.
Parameter name: index
Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As GridItemEventArgs)
If TypeOf e.Item Is GridDataItem Then
Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)
Dim hyplnk As HyperLink = DirectCast(item("Desc").Controls(0), HyperLink)
Dim strVal As String = "ups"
If strVal = "ups" Then
hyplnk.NavigateUrl =
"www.google.com"
ElseIf strVal = "yahoo" Then
hyplnk.NavigateUrl =
"www.yahoo.com"
Else
hyplnk.NavigateUrl =
"Default.aspx"
End If
End If
End Sub
my grid:
<
telerik:RadGrid ID="RadGrid1" OnItemDataBound="RadGrid1_ItemDataBound" runat="server">
</telerik:RadGrid>
I am binding my grid with a datatable:
num(0) =
"1"
num(1) =
"2"
sport(0) =
"rr"
sport(1) =
"socc"
Dim dt As New Data.DataTable
Dim dr As Data.DataRow
' Dim hl As New HyperLink
Dim i As Integer
dt.Columns.Add(
New Data.DataColumn("Desc", GetType(String)))
dt.Columns.Add(
New Data.DataColumn("Desc2", GetType(String)))
' dt.Columns.Add(New Data.DataColumn("Category", GetType(String)))
For i = 0 To 1
dr = dt.NewRow
dr(
"Desc") = num(i) 'The link's
dr(
"Desc2") = sport(i)
' dr("Category") = cat(0) 'The link's category
dt.Rows.Add(dr)
Next
Dim ds2 As New DataSet()
ds2 =
New DataSet()
''creating a dataset
ds2.Tables.Add(dt)
RadGrid1.DataSource = dt
RadGrid1.DataBind()