GridView.AutoGenerateSelectButton Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob für jede Datenzeile automatisch eine CommandField-Feldspalte mit einer Schaltfläche Auswählen zu einem GridView-Steuerelement hinzugefügt wird, oder legt diesen Wert fest.Gets or sets a value indicating whether a CommandField field column with a Select button for each data row is automatically added to a GridView control.

public:
 virtual property bool AutoGenerateSelectButton { bool get(); void set(bool value); };
public virtual bool AutoGenerateSelectButton { get; set; }
member this.AutoGenerateSelectButton : bool with get, set
Public Overridable Property AutoGenerateSelectButton As Boolean

Eigenschaftswert

true, wenn automatisch eine CommandField-Feldspalte mit einer Schaltfläche Auswählen für jede Datenzeile hinzugefügt werden soll, andernfalls false.true to automatically add a CommandField field column with a Select button for each data row; otherwise, false. Die Standardeinstellung ist false.The default is false.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die AutoGenerateSelectButton -Eigenschaft verwendet wird, um die automatische Auswahl GridView des-Steuer Elements zu aktivieren.The following example demonstrates how to use the AutoGenerateSelectButton property to enable the automatic selection feature of the 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_SelectedIndexChanged(Object sender, EventArgs e)
  {
    // Get the currently selected row using the SelectedRow property.
    GridViewRow row = CustomersGridView.SelectedRow;
        
    // Display the first name from the selected row.
    // In this example, the third column (index 2) contains
    // the first name.
    MessageLabel.Text = "You selected " + row.Cells[2].Text + ".";
  }

  void CustomersGridView_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e)
  {
    // Get the currently selected row. Because the SelectedIndexChanging event
    // occurs before the select operation in the GridView control, the
    // SelectedRow property cannot be used. Instead, use the Rows collection
    // and the NewSelectedIndex property of the e argument passed to this 
    // event handler.
    GridViewRow row = CustomersGridView.Rows[e.NewSelectedIndex];

    // You can cancel the select operation by using the Cancel
    // property. For this example, if the user selects a customer with 
    // the ID "ANATR", the select operation is canceled and an error message
    // is displayed.
    if (row.Cells[1].Text == "ANATR")
    {
      e.Cancel = true;
      MessageLabel.Text = "You cannot select " + row.Cells[2].Text + "."; 
    }
  }

</script>

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

     <asp:gridview id="CustomersGridView" 
       datasourceid="CustomersSource" 
       autogeneratecolumns="False"
       autogenerateselectbutton="True"
       selectedindex="1"
       onselectedindexchanged="CustomersGridView_SelectedIndexChanged"
       onselectedindexchanging="CustomersGridView_SelectedIndexChanging"   
       runat="server" DataKeyNames="CustomerID">
                
         <Columns>
             <asp:BoundField DataField="CustomerID" 
                 HeaderText="CustomerID" 
                 InsertVisible="False" ReadOnly="True" 
                 SortExpression="CustomerID" />
             <asp:BoundField DataField="FirstName" 
                 HeaderText="FirstName" 
                 SortExpression="FirstName" />
             <asp:BoundField DataField="MiddleName" 
                 HeaderText="MiddleName" 
                 SortExpression="MiddleName" />
             <asp:BoundField DataField="LastName" 
                 HeaderText="LastName" 
                 SortExpression="LastName" />
             <asp:BoundField DataField="Phone" 
                 HeaderText="Phone" 
                 SortExpression="Phone" />
         </Columns>
                
       <selectedrowstyle backcolor="LightCyan"
         forecolor="DarkBlue"
         font-bold="true"/>  
                
     </asp:gridview>
            
      <br/>
            
      <asp:label id="MessageLabel"
        forecolor="Red"
        runat="server"/>
            
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="CustomersSource"
        selectcommand="SELECT CustomerID, FirstName, MiddleName, LastName, Phone FROM SalesLT.Customer"
        connectionstring="<%$ ConnectionStrings:AdventureWorksLTConnectionString %>" 
        runat="server"/>
            
    </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_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        
    ' Get the currently selected row using the SelectedRow property.
    Dim row As GridViewRow = CustomersGridView.SelectedRow
        
    ' Display the first name from the selected row.
    ' In this example, the third column (index 2) contains
    ' the first name.
    MessageLabel.Text = "You selected " & row.Cells(2).Text & "."
  End Sub

  Sub CustomersGridView_SelectedIndexChanging(ByVal sender As Object, ByVal e As GridViewSelectEventArgs)
        
    ' Get the currently selected row. Because the SelectedIndexChanging event
    ' occurs before the select operation in the GridView control, the
    ' SelectedRow property cannot be used. Instead, use the Rows collection
    ' and the NewSelectedIndex property of the e argument passed to this 
    ' event handler.
    Dim row As GridViewRow = CustomersGridView.Rows(e.NewSelectedIndex)

    ' You can cancel the select operation by using the Cancel
    ' property. For this example, if the user selects a customer with 
    ' the ID "ANATR", the select operation is canceled and an error message
    ' is displayed.
    If row.Cells(1).Text = "ANATR" Then
        e.Cancel = True
        MessageLabel.Text = "You cannot select " + row.Cells(2).Text & "."
    End If
    
  End Sub

</script>

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

     <asp:gridview id="CustomersGridView" 
       datasourceid="CustomersSource" 
       autogeneratecolumns="False"
       autogenerateselectbutton="True"
       selectedindex="1"
       onselectedindexchanged="CustomersGridView_SelectedIndexChanged"
       onselectedindexchanging="CustomersGridView_SelectedIndexChanging"   
       runat="server" DataKeyNames="CustomerID">
                
         <Columns>
             <asp:BoundField DataField="CustomerID" 
                 HeaderText="CustomerID" 
                 InsertVisible="False" ReadOnly="True" 
                 SortExpression="CustomerID" />
             <asp:BoundField DataField="FirstName" 
                 HeaderText="FirstName" 
                 SortExpression="FirstName" />
             <asp:BoundField DataField="MiddleName" 
                 HeaderText="MiddleName" 
                 SortExpression="MiddleName" />
             <asp:BoundField DataField="LastName" 
                 HeaderText="LastName" 
                 SortExpression="LastName" />
             <asp:BoundField DataField="Phone" 
                 HeaderText="Phone" 
                 SortExpression="Phone" />
         </Columns>
                
       <selectedrowstyle backcolor="LightCyan"
         forecolor="DarkBlue"
         font-bold="true"/>  
                
     </asp:gridview>
            
      <br/>
            
      <asp:label id="MessageLabel"
        forecolor="Red"
        runat="server"/>
            
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="CustomersSource"
        selectcommand="SELECT CustomerID, FirstName, MiddleName, LastName, Phone FROM SalesLT.Customer"
        connectionstring="<%$ ConnectionStrings:AdventureWorksLTConnectionString %>" 
        runat="server"/>
            
    </form>

  </body>
</html>

Hinweise

Wenn die AutoGenerateSelectButton -Eigenschaft auf truefestgelegt ist, wird dem GridView -Steuer CommandField Element automatisch eine (durch ein-Objekt dargestellte) Spalte mit einer SELECT-Schaltfläche hinzugefügt.When the AutoGenerateSelectButton property is set to true, a column (represented by a CommandField object) with a Select button for each data row is automatically added to the GridView control. Wenn Sie auf die Schaltfläche auswählen für eine Zeile klicken, wird diese Zeile im- SelectedIndex Steuerelement ausgewählt, wodurch die-Eigenschaft auf den Index der Zeile festgelegt wird.Clicking the Select button for a row selects that row in the control, which sets the SelectedIndex property to the index of the row. Verwenden Sie die GridViewRow SelectedRow -Eigenschaft, um das Objekt abzurufen, das die ausgewählte Zeile darstellt.To retrieve the GridViewRow object that represents the selected row, use the SelectedRow property. Sie können den Primärschlüssel Wert für den ausgewählten Datensatz auch mit der SelectedValue -Eigenschaft erhalten.You can also get the primary key value for the selected record by using the SelectedValue property. Die SelectedValue -Eigenschaft enthält die Werte der Schlüsselfelder, die in DataKeyNames der-Eigenschaft angegeben sind.The SelectedValue property contains the values of the key fields specified in the DataKeyNames property.

Hinweis

Sie können eine Zeile Programm gesteuert auswählen, indem Sie SelectedIndex die-Eigenschaft festlegen.You can programmatically select a row by setting the SelectedIndex property. Um die Auswahl einer Zeile abzubrechen, legen Sie SelectedIndex die-Eigenschaft auf-1 fest.To cancel the selection of a row, set the SelectedIndex property to -1.

Sie können die Darstellung der ausgewählten Zeile mithilfe der SelectedRowStyle -Eigenschaft steuern.You can control the appearance of the selected row by using the SelectedRowStyle property. Allgemeine Einstellungen umfassen in der Regel eine benutzerdefinierte Hintergrundfarbe, Vordergrundfarbe und Schriftart Eigenschaften.Common settings usually include a custom background color, foreground color, and font properties.

Das GridView -Steuerelement stellt mehrere Ereignisse bereit, die Sie verwenden können, um eine benutzerdefinierte Aktion auszuführen, wenn eine Zeile ausgewählt wird.The GridView control provides several events that you can use to perform a custom action when a row is selected. In der folgenden Tabelle sind die verfügbaren Ereignisse aufgeführt.The following table lists the available events.

eventEvent BeschreibungDescription
SelectedIndexChanged Tritt ein, wenn auf die Schaltfläche Auswählen einer Zeile geklickt wird, allerdings nachdem das GridView-Steuerelement den Auswahlvorgang behandelt hat.Occurs when a row's Select button is clicked, but after the GridView control handles the select operation. Dieses Ereignis wird häufig verwendet, um eine Aufgabe auszuführen, nachdem eine Zeile im-Steuerelement ausgewählt wurde.This event is often used to perform a task after a row is selected in the control.
SelectedIndexChanging Tritt ein, wenn auf die Schaltfläche Auswählen einer Zeile geklickt wird, allerdings bevor das GridView-Steuerelement den Auswahlvorgang behandelt.Occurs when a row's Select button is clicked, but before the GridView control handles the select operation. Dieses Ereignis wird häufig verwendet, um den Auswahl Vorgang abzubrechen.This event is often used to cancel the selecting operation.

Gilt für:

Siehe auch