DataControlRowType DataControlRowType DataControlRowType DataControlRowType Enum

Definizione

Specifica la funzione di una riga in un controllo dati, ad esempio un controllo DetailsView o GridView.Specifies the function of a row in a data control, such as a DetailsView or GridView control.

public enum class DataControlRowType
public enum DataControlRowType
type DataControlRowType = 
Public Enum DataControlRowType
Ereditarietà
DataControlRowTypeDataControlRowTypeDataControlRowTypeDataControlRowType

Campi

DataRow DataRow DataRow DataRow 2

Riga di dati di un controllo dati.A data row of a data control. Soltanto le righe DataRow possono essere con associazione a dati.Only DataRow rows can be data-bound.

EmptyDataRow EmptyDataRow EmptyDataRow EmptyDataRow 5

Riga vuota di un controllo con associazione a dati.The empty row of a data-bound control. La riga vuota viene visualizzata quando non vi sono record da visualizzare nel controllo con associazione a dati e il modello EmptyDataTemplate non è null.The empty row is displayed when the data-bound control has no records to display and the EmptyDataTemplate template is not null.

1

Riga del piè di pagina di un controllo dati.A footer row of a data control. Le righe del piè di pagina non possono essere con associazione a dati.Footer rows cannot be data-bound.

Header Header Header Header 0

Riga di intestazione di un controllo dati.A header row of a data control. Le righe di intestazione non possono essere con associazione a dati.Header rows cannot be data-bound.

Pager Pager Pager Pager 4

Riga che visualizza i pulsanti pager o un controllo pager.A row that displays pager buttons or a pager control. Le righe di spostamento non possono essere con associazione a dati.Pager rows cannot be data-bound.

Separator Separator Separator Separator 3

Separatore di righe.A row separator. I separatori di righe non possono essere con associazione a dati.Row separators cannot be data-bound.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato DataControlRowType come utilizzare l'enumerazione per verificare il tipo di una riga quando GridView si utilizza un controllo.The following code example demonstrates how to use the DataControlRowType enumeration to check the type of a row when working with a GridView control. Il AuthorsGridView_RowCreated metodo assicura che la CommandArgument proprietà di un LinkButton controllo sia GridView univoca per tutte le righe di dati del controllo, in modo che, quando LinkButton si fa clic sul controllo di una riga, possa essere identificata correttamente.The AuthorsGridView_RowCreated method ensures that the CommandArgument property of a LinkButton control is unique for all the data rows in the GridView control, so that when a row's LinkButton control is clicked, it can be identified correctly.


<%@ 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)
  {

    // Create a new GridView object.
    GridView customersGridView = new GridView();

    // Set the GridView object's properties.
    customersGridView.ID = "CustomersGridView";
    customersGridView.DataSourceID = "CustomersSource";
    customersGridView.AutoGenerateColumns = false;

    // Dynamically create the columns for the GridView control.
    ButtonField addColumn = new ButtonField();
    addColumn.CommandName = "Add";
    addColumn.Text = "Add";
    addColumn.ButtonType = ButtonType.Link;

    BoundField companyNameColumn = new BoundField();
    companyNameColumn.DataField = "CompanyName";
    companyNameColumn.HeaderText = "Company Name";

    BoundField cityColumn = new BoundField();
    cityColumn.DataField = "City";
    cityColumn.HeaderText = "City";

    // Add the columns to the Columns collection
    // of the GridView control.
    customersGridView.Columns.Add(addColumn);
    customersGridView.Columns.Add(companyNameColumn);
    customersGridView.Columns.Add(cityColumn);

    // Programmatically register the event handling methods.
    customersGridView.RowCommand += new GridViewCommandEventHandler(this.CustomersGridView_RowCommand);
    customersGridView.RowCreated += new GridViewRowEventHandler(this.CustomersGridView_RowCreated);

    // Add the GridView object to the Controls collection
    // of the PlaceHolder control.
    GridViewPlaceHolder.Controls.Add(customersGridView);

  }

  void CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {
    // If multiple ButtonField columns are used, use the
    // CommandName property to determine which button was clicked.
    if(e.CommandName=="Add")
    {
      // Convert the row index stored in the CommandArgument
      // property to an Integer.
      int index = Convert.ToInt32(e.CommandArgument);

      // Retrieve the row that contains the button clicked
      // by the user from the Rows collection. Use the
      // CommandSource property to access the GridView control.
      GridView customersGridView = (GridView)e.CommandSource;
      GridViewRow row = customersGridView.Rows[index];

      // Create a new ListItem object for the customer in the row.
      ListItem item = new ListItem();
      item.Text = Server.HtmlDecode(row.Cells[1].Text) + " " + Server.HtmlDecode(row.Cells[2].Text);

      // If the author is not already in the ListBox, add the ListItem
      // object to the Items collection of a ListBox control.
      if(!CustomersListBox.Items.Contains(item))
      {
        CustomersListBox.Items.Add(item);
      }
    }
  }

  void CustomersGridView_RowCreated(Object sender, GridViewRowEventArgs e)
  {

    // The GridViewCommandEventArgs class does not contain a
    // property that indicates which row's command button was
    // clicked. To identify which row was clicked, use the button's
    // CommandArgument property by setting it to the row's index.
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      // Retrieve the LinkButton control from the first column.
      LinkButton addButton = (LinkButton)e.Row.Cells[0].Controls[0];

      // Set the LinkButton's CommandArgument property with the
      // row's index.
      addButton.CommandArgument = e.Row.RowIndex.ToString();
    }

  }

</script>

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

      <h3>GridViewCommandEventArgs Example</h3>

      <table width="100%">
        <tr>
          <td style="width:50%">
            <asp:placeholder id="GridViewPlaceHolder"
              runat="Server"/>
          </td>

          <td style="vertical-align:top; width:50%">
             Customers: <br/>
             <asp:listbox id="CustomersListBox"
               runat="server"/>
          </td>
        </tr>
      </table>

      <!-- 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="CustomersSource"
        selectcommand="Select [CustomerID], [CompanyName], [City] From [Customers]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        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 Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    ' Create a new GridView object.
    Dim customersGridView As New GridView()

    ' Set the GridView object's properties.
    customersGridView.ID = "CustomersGridView"
    customersGridView.DataSourceID = "CustomersSource"
    customersGridView.AutoGenerateColumns = False

    ' Dynamically create the columns for the GridView control.
    Dim addColumn As New ButtonField()
    addColumn.CommandName = "Add"
    addColumn.Text = "Add"
    addColumn.ButtonType = ButtonType.Link

    Dim companyNameColumn As New BoundField()
    companyNameColumn.DataField = "CompanyName"
    companyNameColumn.HeaderText = "Company Name"

    Dim cityColumn As New BoundField()
    cityColumn.DataField = "City"
    cityColumn.HeaderText = "City"

    ' Add the columns to the Columns collection
    ' of the GridView control.
    customersGridView.Columns.Add(addColumn)
    customersGridView.Columns.Add(companyNameColumn)
    customersGridView.Columns.Add(cityColumn)

    ' Programmatically register the event handling methods.
    AddHandler customersGridView.RowCommand, AddressOf CustomersGridView_RowCommand
    AddHandler customersGridView.RowCreated, AddressOf CustomersGridView_RowCreated

    ' Add the GridView object to the Controls collection
    ' of the PlaceHolder control.
    GridViewPlaceHolder.Controls.Add(customersGridView)

  End Sub

  Sub CustomersGridView_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
  
    ' If multiple ButtonField columns are used, use the
    ' CommandName property to determine which button was clicked.
    If e.CommandName = "Add" Then
    
      ' Convert the row index stored in the CommandArgument
      ' property to an Integer.
      Dim index As Integer = Convert.ToInt32(e.CommandArgument)

      ' Retrieve the row that contains the button clicked
      ' by the user from the Rows collection. Use the
      ' CommandSource property to access the GridView control.
      Dim customersGridView As GridView = CType(e.CommandSource, GridView)
      Dim row As GridViewRow = customersGridView.Rows(index)

      ' Create a new ListItem object for the customer in the row.
      Dim item As New ListItem()
      item.Text = Server.HtmlDecode(row.Cells(1).Text) + " " + Server.HtmlDecode(row.Cells(2).Text)

      ' If the author is not already in the ListBox, add the ListItem
      ' object to the Items collection of a ListBox control.
      If Not CustomersListBox.Items.Contains(item) Then
      
        CustomersListBox.Items.Add(item)
        
      End If
    End If
        
  End Sub

  Sub CustomersGridView_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs)

    ' The GridViewCommandEventArgs class does not contain a
    ' property that indicates which row's command button was
    ' clicked. To identify which row was clicked, use the button's
    ' CommandArgument property by setting it to the row's index.
    If e.Row.RowType = DataControlRowType.DataRow Then

      ' Retrieve the LinkButton control from the first column.
      Dim addButton As LinkButton = CType(e.Row.Cells(0).Controls(0), LinkButton)

      ' Set the LinkButton's CommandArgument property with the
      ' row's index.
      addButton.CommandArgument = e.Row.RowIndex.ToString()
      
    End If

  End Sub

</script>

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

      <h3>GridViewCommandEventArgs Example</h3>

      <table width="100%">
        <tr>
          <td style="width:50%">
            <asp:placeholder id="GridViewPlaceHolder"
              runat="Server"/>
          </td>

          <td style="vertical-align:top; width:50%">
             Customers: <br/>
             <asp:listbox id="CustomersListBox"
               runat="server"/>
          </td>
        </tr>
      </table>

      <!-- 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="CustomersSource"
        selectcommand="Select [CustomerID], [CompanyName], [City] From [Customers]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>

    </form>
  </body>
</html>

Commenti

L' DataControlRowType enumerazione identifica la funzione delle righe in un controllo dati.The DataControlRowType enumeration identifies the function of rows in a data control. Viene usato dai controlli e DetailsView GridView per distinguere tra le righe che visualizzano i dati e le righe che visualizzano altri elementi dell'interfaccia utente, ad esempio una riga di intestazione, un separatore di riga o un pulsante cercapersone.It is used by the DetailsView and GridView controls to distinguish between rows that display data and rows that display other user interface (UI) elements, such as a header row, row separator, or pager buttons.

È possibile utilizzare l' DataControlRowType enumerazione per identificare il tipo di un GridViewRow oggetto DetailsViewRow o quando si esegue l'enumerazione GridViewRowCollection tramite DetailsViewRowCollection una raccolta o.You can use the DataControlRowType enumeration to identify the type of a GridViewRow or DetailsViewRow object when you enumerate through a GridViewRowCollection or DetailsViewRowCollection collection. Se si scrive un controllo dati che crea righe, è possibile usare l' DataControlRowType enumerazione per identificare la funzione di righe diverse nel controllo.If you are writing a data control that creates rows, you can use the DataControlRowType enumeration to identify the function of different rows in the control.

Si applica a

Vedi anche