ButtonField Costruttore

Definizione

Inizializza una nuova istanza della classe ButtonField.Initializes a new instance of the ButtonField class.

public:
 ButtonField();
public ButtonField ();
Public Sub New ()

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare il costruttore #ctor costruttore m:System.Web.UI.WebControls.ButtonField. per aggiungere un ButtonField oggetto in modo dinamico a un GridView controllo.The following code example demonstrates how to use the M:System.Web.UI.WebControls.ButtonField.#ctor constructor to add a ButtonField object dynamically to a GridView control.


<%@ 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 CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {
  
    // If multiple ButtonField column fields are used, use the
    // CommandName property to determine which button was clicked.
    if(e.CommandName=="Select")
    {
    
      // Convert the row index stored in the CommandArgument
      // property to an Integer.
      int index = Convert.ToInt32(e.CommandArgument);    
    
      // Get the last name of the selected Customer from the appropriate
      // cell in the GridView control.
      GridViewRow selectedRow = CustomersGridView.Rows[index];
      TableCell contactCell = selectedRow.Cells[1];
      string contact = contactCell.Text;  
    
      // Display the selected Customer.
      Message.Text = "You selected " + contact + ".";
      
    }
    
  }

  void Page_Load(Object sender, EventArgs e)
  {
  
    // The field columns need to be created only the first time
    // the page is loaded.
    if (!IsPostBack)
    {
      
      // Dynamically create field columns to display the desired
      // fields from the data source.
      
      // Create a ButtonField object to allow the user to 
      // select an Customer.
      ButtonField selectButtonField = new ButtonField ();

      selectButtonField.ButtonType = ButtonType.Button;
      selectButtonField.CommandName = "Select";
      selectButtonField.HeaderText = "Select Customer";
      selectButtonField.Text = "Select";

      // Create a BoundField object to display an Customer's last name.
      BoundField contactNameBoundField = new BoundField();

      contactNameBoundField.DataField = "ContactName";
      contactNameBoundField.HeaderText = "Contact Name";

      // Create a BoundField object to display an Customer's first name.
      BoundField contactTitleBoundField = new BoundField();

      contactTitleBoundField.DataField = "ContactTitle";
      contactTitleBoundField.HeaderText = "Contact Title";

      // Add the field columns to the Columns collection of the
      // GridView control.
      CustomersGridView.Columns.Add (selectButtonField);
      CustomersGridView.Columns.Add(contactNameBoundField);
      CustomersGridView.Columns.Add(contactTitleBoundField);
      
    }
    
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ButtonField Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>ButtonField Constructor Example</h3>

      <asp:label id="Message"
        forecolor="Red"
        runat="server"
        AssociatedControlID="CustomersGridView"/>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="False"
        onrowcommand="CustomersGridView_RowCommand"
        runat="server">                
      </asp:gridview>
            
        <!-- This example uses Microsoft SQL Server and connects -->
        <!-- to the Northwind sample database.                   -->
        <asp:sqldatasource id="CustomersSqlDataSource"  
          selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
          runat="server">
        </asp:sqldatasource>
            
    </form>
  </body>
</html>


<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    Sub CustomersGridView_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
  
        ' If multiple ButtonField column fields are used, use the
        ' CommandName property to determine which button was clicked.
        If e.CommandName = "Select" Then
    
            ' Convert the row index stored in the CommandArgument
            ' property to an Integer.
            Dim index As Integer = Convert.ToInt32(e.CommandArgument)
    
            ' Get the last name of the selected Customer from the appropriate
            ' cell in the GridView control.
            Dim selectedRow As GridViewRow = CustomersGridView.Rows(index)
            Dim contactNameCell As TableCell = selectedRow.Cells(1)
            Dim contactName As String = contactNameCell.Text
    
            ' Display the selected Customer.
            Message.Text = "You selected " & contactName & "."
      
        End If
    
    End Sub

    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
  
        ' The field columns need to be created only the first time
        ' the page is loaded.
        If Not IsPostBack Then
      
            ' Dynamically create field columns to display the desired
            ' fields from the data source.
      
            ' Create a ButtonField object to allow the user to 
            ' select an Customer.
            Dim selectButtonField As New ButtonField

            selectButtonField.ButtonType = ButtonType.Button
            selectButtonField.CommandName = "Select"
            selectButtonField.HeaderText = "Select Customer"
            selectButtonField.Text = "Select"

            ' Create a BoundField object to display an Customer's last name.
            Dim contactNameBoundField As New BoundField

            contactNameBoundField.DataField = "ContactName"
            contactNameBoundField.HeaderText = "Contact Name"

            ' Create a BoundField object to display an Customer's first name.
            Dim contactTitleBoundField As New BoundField

            contactTitleBoundField.DataField = "ContactTitle"
            contactTitleBoundField.HeaderText = "Contact Title"

            ' Add the field columns to the Columns collection of the
            ' GridView control.
            CustomersGridView.Columns.Add(selectButtonField)
            CustomersGridView.Columns.Add(contactNameBoundField)
            CustomersGridView.Columns.Add(contactTitleBoundField)
      
        End If
    
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ButtonField Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>ButtonField Constructor Example</h3>

      <asp:label id="Message"
        forecolor="Red"
        runat="server"
        AssociatedControlID="CustomersGridView"/>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="False"
        onrowcommand="CustomersGridView_RowCommand"
        runat="server">                
      </asp:gridview>
            
        <!-- This example uses Microsoft SQL Server and connects -->
        <!-- to the Northwind sample database.                   -->
        <asp:sqldatasource id="CustomersSqlDataSource"  
          selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
          runat="server">
        </asp:sqldatasource>
            
    </form>
  </body>
</html>

Commenti

Utilizzare il ButtonField costruttore per inizializzare una nuova istanza della ButtonField classe.Use the ButtonField constructor to initialize a new instance of the ButtonField class. Questo costruttore viene comunemente utilizzato quando si aggiungono campi a un controllo con associazione a dati creato dinamicamente.This constructor is commonly used when adding fields to a dynamically created data-bound control.

Per aggiungere un ButtonField oggetto in modo dinamico a un controllo con associazione a dati, creare un nuovo ButtonField oggetto, impostarne le proprietà e quindi aggiungerlo alla raccolta di campi per il controllo con associazione a dati.To add a ButtonField object dynamically to a data-bound control, create a new ButtonField object, set its properties, and then add it to the field collection for the data-bound control. Se, ad esempio, si utilizza il GridView controllo, aggiungere l' ButtonField oggetto alla Columns raccolta.For example, if you are using the GridView control, add the ButtonField object to the Columns collection.

Nota

Sebbene sia possibile aggiungere campi in modo dinamico a un controllo con associazione a dati, i campi devono essere dichiarati staticamente e quindi visualizzati o nascosti, a seconda dei casi.Although you can add fields dynamically to a data-bound control, fields should be declared statically, and then shown or hidden, as appropriate. La dichiarazione statica di tutti i campi riduce la dimensione dello stato di visualizzazione per il controllo con associazione a dati padre.Statically declaring all of your fields reduces the size of the view state for the parent data-bound control.

Si applica a

Vedi anche