parnia padiav
parnia padiav

Reputation: 35

RadGrid Hyperlink Columns at runtime

I am using Telerik rad Grid control and it is bound to a datatable in code behind. I want to change each cell to a hyperlink field at runtime and configure NavigateUrl. When I'm clicking each row a new page show. How can I do that?

Upvotes: 1

Views: 3991

Answers (1)

Jayesh Goyani
Jayesh Goyani

Reputation: 11154

Please try with the below code snippet.

.aspx

<telerik:RadGrid ID="RadGrid2" runat="server" 
    onneeddatasource="RadGrid2_NeedDataSource" 
    onitemdatabound="RadGrid2_ItemDataBound">
</telerik:RadGrid>

.aspx.cs

protected void RadGrid2_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    DataTable dt = new DataTable();
    dt.Columns.Add("Shipper", typeof(string));
    dt.Rows.Add("Shipper1");
    dt.Rows.Add("Shipper2");
    dt.Rows.Add("Shipper3");

    RadGrid2.DataSource = dt;
}

protected void RadGrid2_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem item = e.Item as GridDataItem;
        TableCell tb = item["Shipper"];
        HyperLink lnk = new HyperLink();
        lnk.ID = "lnk";
        lnk.Text = (item.DataItem as DataRowView)["Shipper"].ToString();
        lnk.NavigateUrl = "https://www.google.co.in/";
        tb.Controls.Clear();
        tb.Controls.Add(lnk);
    }
}

Upvotes: 2

Related Questions