CommandField コンストラクタ
アセンブリ: System.Web (system.web.dll 内)


このコンストラクタを使用して、CommandField クラスの新しいインスタンスを初期化します。通常、このコンストラクタは、動的に作成されたデータ バインド コントロールにフィールドを追加する場合に使用されます。
CommandField フィールドをデータ バインド コントロールに動的に追加するには、新しい CommandField オブジェクトを作成してそのプロパティを設定し、データ バインド コントロールのフィールド コレクションに追加します。たとえば、GridView コントロールを使用する場合は、CommandField オブジェクトを Columns コレクションに追加します。
![]() |
---|
フィールドはデータ バインド コントロールに動的に追加することもできますが、フィールドを静的に宣言しておき、適宜、表示または非表示にすることをお勧めします。すべてのフィールドを静的に宣言すると、親データ バインド コントロールのビューステートのサイズが小さくなります。 |

コンストラクタを使用して、ページに CommandField フィールド列を GridView コントロールに動的に追加する方法を次のコード例に示します。
<%@ Page language="VB" AutoEventWireup="False" %> <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> <body> <form 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>
<%@ Page language="C#" %> <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> <body> <form 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>

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- CommandField コンストラクタのページへのリンク