1

グリッドが読み込まれると、SQL データベースからのデータが取り込まれる Telerik RadGrid があります。最初の列には、Web サイトの別の部分へのハイパーリンクである必要がある名前がリストされています。いくつかの異なるオプションを試しましたが、どちらも必要な結果が得られません。

私が最初に試した方法は、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

もう 1 つのオプションは、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

ただし、ジョブリンク列にハイパーリンクを表示する代わりに、表示されるのは「System.Web.UI.WebControls.HyperLink」だけです。

GridHyperLinkColumn の DataTextField プロパティと DataTextFormatString プロパティを調べましたが、これらのフィールドをプログラムで変更する方法が見つかりませんでした。

4

2 に答える 2

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")
于 2013-06-16T19:00:58.807 に答える