CommandField Constructor
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Initialiseert een nieuw exemplaar van de CommandField klasse.
public:
CommandField();
public CommandField();
Public Sub New ()
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de constructor gebruikt om dynamisch een CommandField veldkolom aan een GridView besturingselement toe te voegen.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Dynamically generated field columns need to be created only
// the first time the page is loaded.
if (!IsPostBack)
{
// Create a CommandField object to display a Select button
// for each record in the GridView control.
CommandField selectCommandField = new CommandField();
selectCommandField.ShowSelectButton = true;
selectCommandField.SelectText = "Select Company";
// Create a BoundField object to display the company names.
BoundField lastNameBoundField = new BoundField();
lastNameBoundField.DataField = "au_lname";
lastNameBoundField.HeaderText = "Last Name";
// Create a BoundField object to display a customer's company name.
BoundField nameBoundField = new BoundField();
nameBoundField.DataField = "CompanyName";
nameBoundField.HeaderText = "Company Name";
// Create a BoundField object to display a customer's city.
BoundField cityBoundField = new BoundField();
cityBoundField.DataField = "City";
cityBoundField.HeaderText = "City";
// Add the field columns to the ColumnFields collection of the
// GridView control.
CustomersGridView.Columns.Add(selectCommandField);
CustomersGridView.Columns.Add(nameBoundField);
CustomersGridView.Columns.Add(cityBoundField);
}
}
void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
{
// Get the value of the company name and city from the appropriate cells.
String companyName = CustomersGridView.SelectedRow.Cells[1].Text;
String city = CustomersGridView.SelectedRow.Cells[2].Text;
Message.Text = "You selected " + companyName + " located in " + city + ".";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>CommandField Constructor Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>CommandField Constructor Example</h3>
<asp:label id="Message"
forecolor="Red"
runat="server"/>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="False"
onselectedindexchanged="CustomersGridView_SelectedIndexChanged"
runat="server">
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [City] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
<%@ Page language="VB" AutoEventWireup="False" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
' Dynamically generated field columns need to be created only
' the first time the page is loaded.
If Not IsPostBack Then
' Create a CommandField object to display a Select button
' for each record in the GridView control.
Dim selectCommandField As New CommandField()
selectCommandField.ShowSelectButton = True
selectCommandField.SelectText = "Select Company"
' Create a BoundField object to display the company names.
Dim lastNameBoundField As New BoundField()
lastNameBoundField.DataField = "au_lname"
lastNameBoundField.HeaderText = "Last Name"
' Create a BoundField object to display a customer's company name.
Dim nameBoundField As New BoundField()
nameBoundField.DataField = "CompanyName"
nameBoundField.HeaderText = "Company Name"
' Create a BoundField object to display a customer's city.
Dim cityBoundField As New BoundField()
cityBoundField.DataField = "City"
cityBoundField.HeaderText = "City"
' Add the field columns to the ColumnFields collection of the
' GridView control.
CustomersGridView.Columns.Add(selectCommandField)
CustomersGridView.Columns.Add(nameBoundField)
CustomersGridView.Columns.Add(cityBoundField)
End If
End Sub
Sub CustomersGridView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles CustomersGridView.SelectedIndexChanged
' Get the value of the company name and city from the appropriate cells.
Dim companyName As String = CustomersGridView.SelectedRow.Cells(1).Text
Dim city As String = CustomersGridView.SelectedRow.Cells(2).Text
Message.Text = "You selected " & companyName & " located in " & city & "."
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>CommandField Constructor Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>CommandField Constructor Example</h3>
<asp:label id="Message"
forecolor="Red"
runat="server"/>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="False"
runat="server">
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [City] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
Opmerkingen
Gebruik deze constructor om een nieuw exemplaar van de CommandField klasse te initialiseren. Deze constructor wordt vaak gebruikt bij het toevoegen van velden aan een dynamisch gemaakt gegevensgebonden besturingselement.
Als u een CommandField veld dynamisch wilt toevoegen aan een gegevensgebonden besturingselement, maakt u een nieuw CommandField object, stelt u de eigenschappen in en voegt u het vervolgens toe aan de veldverzameling van het gegevensgebonden besturingselement. Als u bijvoorbeeld het GridView besturingselement gebruikt, voegt u het CommandField object toe aan de Columns verzameling.
Note
Hoewel u dynamisch velden aan een gegevensgebonden besturingselement kunt toevoegen, wordt het sterk aanbevolen dat velden statisch worden gedeclareerd en vervolgens indien van toepassing worden weergegeven of verborgen. Door al uw velden statisch te declareren, wordt de weergavestatus voor het bovenliggende besturingselement voor gegevens beperkt.