Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

GridViewRow.RowType propriété

 

Date de publication : novembre 2016

Obtient le type de ligne de la GridViewRow objet.

Espace de noms:   System.Web.UI.WebControls
Assembly:  System.Web (dans System.Web.dll)

public virtual DataControlRowType RowType { get; set; }

Valeur de propriété

Type: System.Web.UI.WebControls.DataControlRowType

Une des valeurs de DataControlRowType.

Utilisez le RowType pour déterminer le type de propriété de ligne qui le GridViewRow représente l’objet. Le tableau suivant répertorie les valeurs de type ligne différente à l’aide de la DataControlRowType (énumération).

Type de ligne

Description

DataRow

Une ligne de données dans le GridView contrôle.

Footer

La ligne de pied de page dans le GridView contrôle.

Header

La ligne d’en-tête dans la GridView contrôle.

EmptyDataRow

La ligne vide dans la GridView contrôle. La ligne vide s’affiche lorsque GridView contrôle n’a pas de tous les enregistrements à afficher.

Pager

Une ligne de pagineur dans le GridView contrôle.

Separator

Ligne de séparateur dans le GridView contrôle.

Cette propriété est couramment utilisée pour déterminer le type d’une ligne avant d’effectuer une opération.

L’exemple suivant montre comment utiliser le RowType propriété pour déterminer si une ligne créée est une ligne de pied de page. Si la ligne est une ligne de pied de page, la valeur de la somme de la colonne est mis à jour dans la ligne de pied de page.


<%@ 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">

  // Create a variable to store the order total.
  private Decimal orderTotal = 0.0M;

  void OrderGridView_RowCreated(Object sender, GridViewRowEventArgs e)
  {

    // Retrieve the current row. 
    GridViewRow row = e.Row;

    // Update the column total if the row being created is
    // a footer row.
    if (row.RowType == DataControlRowType.Footer)
    {

      // Get the OrderTotalTotal Label control in the footer row.
      Label total = (Label)e.Row.FindControl("OrderTotalLabel");

      // Display the grand total of the order formatted as currency.
      if (total != null)
      {
        total.Text = orderTotal.ToString("c");
      }

    }

  }

  void OrderGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
  {

    // Retrieve the current row. 
    GridViewRow row = e.Row;

    // Add the field value to the column total if the row being created is
    // a data row. 
    if (row.RowType == DataControlRowType.DataRow)
    {

      // Get the cell that contains the item total.
      TableCell cell = e.Row.Cells[2];

      // Get the DataBoundLiteralControl control that contains the 
      // data bound value.
      DataBoundLiteralControl boundControl = (DataBoundLiteralControl)cell.Controls[0];

      // Remove the '$' character for the type converter to work properly.
      String itemTotal = boundControl.Text.Replace("$",  "");

      // Add the total for an item (row) to the order total.
      orderTotal += Convert.ToDecimal(itemTotal);

    }

  }

</script>

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

      <h3>GridViewRow RowType Example</h3>

      <!-- Populate the Columns collection declaratively. -->
      <!-- Create a custom TemplateField column that uses      -->
      <!-- two Label controls to display an author's first and -->
      <!-- last name in the same column.                       -->
      <asp:gridview id="OrderGridView" 
        datasourceid="OrderSqlDataSource" 
        autogeneratecolumns="False" 
        showfooter="true"
        onrowcreated="OrderGridView_RowCreated"
        onrowdatabound="OrderGridView_RowDataBound"   
        runat="server">

        <columns>

          <asp:boundfield datafield="UnitPrice"
            itemstyle-horizontalalign="Right"
            headertext="Unit Price" 
            dataformatstring="{0:c}"/>

          <asp:boundfield datafield="Quantity"
            itemstyle-horizontalalign="Right"
            headertext="Quantity"/>

          <asp:templatefield headertext="Total"
            itemstyle-horizontalalign="Right"
            footerstyle-horizontalalign="Right"
            footerstyle-backcolor="Blue"
            footerstyle-forecolor="White">
            <itemtemplate>
              <%#Eval("Total", "{0:c}") %>
            </itemtemplate>
            <footertemplate>
              <asp:label id="OrderTotalLabel"
                runat="server"/>
            </footertemplate>
          </asp:templatefield>

        </columns>

      </asp:gridview>

      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Northwind sample database.                   -->
      <asp:sqldatasource id="OrderSqlDataSource"  
        selectcommand="SELECT [OrderID], [UnitPrice], [Quantity], [UnitPrice]*[Quantity] As [Total] FROM [order details] WHERE [OrderID]=10248"
        connectionstring="server=localhost;database=northwind;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>

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

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: