Exporter (0) Imprimer
Développer tout

GridViewRow.RowType, propriété

Remarque : cette propriété est nouvelle dans le .NET Framework version 2.0.

Obtient le type de ligne de l'objet GridViewRow.

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

public virtual DataControlRowType RowType { get; set; }
/** @property */
public DataControlRowType get_RowType ()

/** @property */
public void set_RowType (DataControlRowType value)

public function get RowType () : DataControlRowType

public function set RowType (value : DataControlRowType)

Valeur de la propriété

Une des valeurs DataControlRowType.

Utilisez la propriété RowType pour déterminer le type de ligne représenté par l'objet GridViewRow. Le tableau suivant affiche les différents types de lignes.

Type de ligne

Description

DataRow

Ligne de données dans le contrôle GridView.

Footer

Ligne de pied de page dans le contrôle GridView.

Header

Ligne d'en-tête dans le contrôle GridView.

EmptyDataRow

Ligne vide dans le contrôle GridView. La ligne vide s'affiche lorsque le contrôle GridView n'a aucun enregistrement à afficher.

Pager

Ligne de pagineur dans le contrôle GridView.

Separator

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

Cette propriété est généralement utilisée pour déterminer le type d'une ligne avant d'exécuter une opération.

L'exemple suivant montre comment utiliser la propriété RowType pour déterminer si une ligne créée est une ligne de pied de page. Le cas échéant, la valeur correspondant à la somme de la colonne est mise à jour dans la ligne de pied de page.


<%@ Page language="C#" %>

<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>
  <body>
    <form 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>


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft