在RadGrid加载上设置HyperLink的显示文本

时间:2013-06-14 17:56:04

标签: telerik radgrid

我有一个telerik RadGrid,在网格加载时会从SQL数据库中填充数据。第一列列出了一个名称,该名称需要是指向该网站另一部分的超链接。我尝试了几种不同的选择,这些选项都没有让我得到我需要的结果。

我尝试的第一种方法是使用GridHyperLinkColumn。但是,当网格填充数据时,这不允许我以编程方式更改超链接的显示文本。

<telerik:GridHyperLinkColumn DataNavigateUrlFields="joblink" DataNavigateUrlFormatString="/Job.aspx?id={0}" Text="JobName">

taskDR.Item("joblink") = dataReader("publicID")
taskDR.Item("joblink").Text = dataReader("name")  'This is what I would like to do

另一个选择是使用GridBoundColumn并将超链接绑定到它。

<telerik:GridBoundColumn DataField="joblink" UniqueName="joblink">

Dim jobhyperlink As New HyperLink()
jobhyperlink.Text = dataReader("name")
jobhyperlink.NavigateUrl = "/Job.aspx?id=" & dataReader("publicID").ToString()
taskDR.Item("joblink") = jobhyperlink

但是,不是在joblink列中显示超链接,而是显示的所有内容都是“System.Web.UI.WebControls.HyperLink”

我查看了GridHyperLinkColumn的DataTextField和DataTextFormatString属性,但我找不到以编程方式更改这些字段的方法。

2 个答案:

答案 0 :(得分:1)

你可以尝试一个模板列,只需放置一个html标签,然后使用Eval函数以你想要的方式绑定东西。

查看此演示 - http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/columntypes/defaultcs.aspx

答案 1 :(得分:0)

我终于明白了。

<telerik:GridHyperLinkColumn UniqueName="joblink" Text="jobname" DataNavigateUrlFields="joblink" DataNavigateUrlFormatString="/Employer/Job.aspx?action=edit&id={0}" DataTextField="jobname" DataTextFormatString="{0}">

Dim taskDT As New DataTable
taskDT.Columns.Add("jID")
taskDT.Columns.Add("jobname") 'You need one column for the DataTextField
taskDT.Columns.Add("joblink") 'and another for the DataNavigateUrlField

While dataReader.Read()
Dim taskDR = taskDT.NewRow()
taskDR.Item("jobname") = dataReader("name")
taskDR.Item("joblink") = dataReader("publicID")