ButtonColumn.DataTextField-Eigenschaft
Ruft den Namen des Felds aus einer Datenquelle ab, das an das ButtonColumn-Objekt gebunden werden soll, oder legt diesen fest.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Public Overridable Property DataTextField As String
'Usage
Dim instance As ButtonColumn
Dim value As String
value = instance.DataTextField
instance.DataTextField = value
public virtual string DataTextField { get; set; }
public:
virtual property String^ DataTextField {
String^ get ();
void set (String^ value);
}
/** @property */
public String get_DataTextField ()
/** @property */
public void set_DataTextField (String value)
public function get DataTextField () : String
public function set DataTextField (value : String)
Eigenschaftenwert
Der Name des Felds, das an ButtonColumn gebunden werden soll. Der Standardwert ist eine leere Zeichenfolge ("").
Hinweise
Mit der DataTextField-Eigenschaft können Sie den Namen des Felds aus der Datenquelle angegeben, das an die Text-Eigenschaft der Schaltflächen im ButtonColumn-Objekt gebunden werden soll.
Wenn die Spalte an ein Feld gebunden und die Text-Eigenschaft nicht direkt festgelegt wird, können verschiedene Beschriftungen der Schaltflächen in der ButtonColumn unter Verwendung der in dem angegebenen Feld enthaltenen Werte angezeigt werden.
Der Wert dieser Eigenschaft wird im Ansichtszustand gespeichert.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe der DataTextField-Eigenschaft das ButtonColumn-Objekt an ein Feld in einer Datenquelle gebunden wird.
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script language="VB" runat="server">
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
Dim i As Integer
For i = 0 To 8
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " + i.ToString()
dr(2) = 1.23 *(i + 1)
dt.Rows.Add(dr)
Next i
Dim dv As New DataView(dt)
CreateDataSource = dv
End Function 'CreateDataSource
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
' Load this data only once.
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub 'Page_Load
Sub Grid_CartCommand(sender As Object, e As DataGridCommandEventArgs)
' e.Item is the table row where the command is raised.
' For bound columns, the value is stored in the Text property of the TableCell.
Label1.Text = "You selected: " + e.Item.Cells(0).Text + "."
End Sub 'Grid_CartCommand
</script>
<body>
<form runat=server>
<h3>ButtonColumn Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
OnItemCommand="Grid_CartCommand"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<Columns>
<asp:BoundColumn
HeaderText="Item"
DataField="StringValue"/>
<asp:ButtonColumn
HeaderText="Price"
ButtonType="PushButton"
DataTextField="CurrencyValue"
DataTextFormatString="{0:C}"
CommandName="AddToCart" />
</Columns>
</asp:DataGrid>
<br><br>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script language="C#" runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = 1.23 * (i + 1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Load this data only once.
ItemsGrid.DataSource= CreateDataSource();
ItemsGrid.DataBind();
}
}
void Grid_CartCommand(Object sender, DataGridCommandEventArgs e)
{
// e.Item is the table row where the command is raised.
// For bound columns, the value is stored in the Text property of the TableCell.
Label1.Text = "You selected: " + e.Item.Cells[0].Text + ".";
}
</script>
<body>
<form runat=server>
<h3>ButtonColumn Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
OnItemCommand="Grid_CartCommand"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<Columns>
<asp:BoundColumn
HeaderText="Item"
DataField="StringValue"/>
<asp:ButtonColumn
HeaderText="Price"
ButtonType="PushButton"
DataTextField="CurrencyValue"
DataTextFormatString="{0:C}"
CommandName="AddToCart" />
</Columns>
</asp:DataGrid>
<br><br>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="JScript" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script language="JScript" runat="server">
function CreateDataSource() : ICollection
{
var dt : DataTable = new DataTable();
var dr : DataRow;
dt.Columns.Add(new DataColumn("IntegerValue", Int32));
dt.Columns.Add(new DataColumn("StringValue", System.String));
dt.Columns.Add(new DataColumn("CurrencyValue", double));
for (var i : int = 0; i < 9; i++)
{
dr = dt.NewRow();
dr["IntegerValue"] = i;
dr["StringValue"] = "Item " + i.ToString();
dr["CurrencyValue"] = 1.23 * (i + 1);
dt.Rows.Add(dr);
}
var dv : DataView = new DataView(dt);
return dv;
}
function Page_Load(sender, e : EventArgs)
{
if (!IsPostBack)
{
// Load this data only once.
ItemsGrid.DataSource= CreateDataSource();
ItemsGrid.DataBind();
}
}
function Grid_CartCommand(sender, e : DataGridCommandEventArgs)
{
// e.Item is the table row where the command is raised.
// For bound columns, the value is stored in the Text property of the TableCell.
Label1.Text = "You selected: " + e.Item.Cells[0].Text + ".";
}
</script>
<body>
<form runat=server>
<h3>ButtonColumn Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
OnItemCommand="Grid_CartCommand"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<Columns>
<asp:BoundColumn
HeaderText="Item"
DataField="StringValue"/>
<asp:ButtonColumn
HeaderText="Price"
ButtonType="PushButton"
DataTextField="CurrencyValue"
DataTextFormatString="{0:C}"
CommandName="AddToCart" />
</Columns>
</asp:DataGrid>
<br><br>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
ButtonColumn-Klasse
ButtonColumn-Member
System.Web.UI.WebControls-Namespace
Text