HyperLinkColumn.DataTextField Property
Gets or sets the field from a data source to bind to the text caption of the hyperlinks in the HyperLinkColumn.
[Visual Basic] Public Overridable Property DataTextField As String [C#] public virtual string DataTextField {get; set;} [C++] public: __property virtual String* get_DataTextField(); public: __property virtual void set_DataTextField(String*); [JScript] public function get DataTextField() : String; public function set DataTextField(String);
Property Value
The field name from a data source to bind to the text caption of the hyperlinks in HyperLinkColumn.
Remarks
Use the DataTextField property to specify the field name from a data source to bind to the text caption of the hyperlinks in HyperLinkColumn. When the text caption is data bound to a field, the text caption of each hyperlink in the column is set with a corresponding value in the specified field. This allows you to set a different text caption for each hyperlink in the column. To specify the same text caption for each row in the column, set the Text property instead of this property.
Note The DataTextField and Text properties cannot both be set at the same time. If both properties are set, the DataTextField property takes precedence.
When you using data binding, you can specify a custom display format for the text caption of the hyperlinks by setting the DataTextFormatString property.
Example
[Visual Basic, C#] The following example demonstrates how to use the DataTextField property to specify the field in the data source to bind to the text caption of the hyperlinks in the HyperLinkColumn.
[Visual Basic] <%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <head> <script runat="server"> Function CreateDataSource() As ICollection Dim dt As DataTable = New DataTable() Dim dr As DataRow Dim i As Integer dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32))) dt.Columns.Add(New DataColumn("PriceValue", GetType(Double))) For i = 0 to 2 dr = dt.NewRow() dr(0) = i dr(1) = CDbl(i) * 1.23 dt.Rows.Add(dr) Next i Dim dv As DataView = New DataView(dt) Return dv End Function Sub Page_Load(sender As Object, e As EventArgs) MyDataGrid.DataSource = CreateDataSource() MyDataGrid.DataBind() End Sub </script> </head> <body> <form runat="server"> <h3>HyperLinkColumn Example<h3> <asp:DataGrid id="MyDataGrid" BorderColor="black" BorderWidth="1" GridLines="Both" AutoGenerateColumns="false" runat="server"> <HeaderStyle BackColor="#aaaadd"/> <Columns> <asp:HyperLinkColumn HeaderText="Select an Item" DataNavigateUrlField="IntegerValue" DataNavigateUrlFormatString="detailspage.aspx?id={0}" DataTextField="PriceValue" DataTextFormatString="{0:c}" Target="_blank"/> </Columns> </asp:DataGrid> </form> </body> </html> [C#] <%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <head> <script runat="server"> ICollection CreateDataSource() { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("PriceValue", typeof(Double))); for (int i = 0; i < 3; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = (Double)i * 1.23; dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } void Page_Load(Object sender, EventArgs e) { MyDataGrid.DataSource = CreateDataSource(); MyDataGrid.DataBind(); } </script> </head> <body> <form runat="server"> <h3>HyperLinkColumn Example<h3> <asp:DataGrid id="MyDataGrid" BorderColor="black" BorderWidth="1" GridLines="Both" AutoGenerateColumns="false" runat="server"> <HeaderStyle BackColor="#aaaadd"/> <Columns> <asp:HyperLinkColumn HeaderText="Select an Item" DataNavigateUrlField="IntegerValue" DataNavigateUrlFormatString="detailspage.aspx?id={0}" DataTextField="PriceValue" DataTextFormatString="{0:c}" Target="_blank"/> </Columns> </asp:DataGrid> </form> </body> </html>
[Visual Basic, C#] The following corresponding example displays the item selected in the previous example.
[Visual Basic] <%@ Page Language="VB" AutoEventWireup="True" %> <html> <head> <script runat="server"> Sub Page_Load(sender As Object, e As EventArgs) Label1.Text = "You selected item: " & Request.QueryString("id") End Sub </script> </head> <body> <h3>Details page for DataGrid</h3> <asp:Label id="Label1" runat="server"/> </body> </html> [C#] <%@ Page Language="C#" AutoEventWireup="True" %> <html> <head> <script runat="server"> void Page_Load(Object sender, EventArgs e) { Label1.Text = "You selected item: " + Request.QueryString["id"]; } </script> </head> <body> <h3>Details page for DataGrid</h3> <asp:Label id="Label1" runat="server"/> </body> </html>
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
HyperLinkColumn Class | HyperLinkColumn Members | System.Web.UI.WebControls Namespace | Text