Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

DetailsView.DataItemIndex, propriété

Obtient l'index de l'élément qui est affiché dans un contrôle DetailsView provenant de la source de données sous-jacente.

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

[BrowsableAttribute(false)]
public virtual int DataItemIndex { get; }

Valeur de propriété

Type : System.Int32
L'index de base zéro de l'élément de données qui est affiché dans un contrôle DetailsView provenant de la source de données sous-jacente.

Lorsque vous activez la fonctionnalité de pagination (en affectant la valeur true à la propriété AllowPaging), utilisez la propriété DataItemIndex pour déterminer l'index de l'enregistrement actuellement affiché. Vous pouvez également utiliser cette propriété pour modifier par programme l'enregistrement affiché.

RemarqueRemarque

Lorsque la fonctionnalité de pagination est activée, vous pouvez également utiliser cette propriété pour déterminer le numéro de page de l'enregistrement affiché ; sachez, toutefois, que cette propriété est de base zéro.

Utilisez la propriété DataItemCount pour déterminer le nombre total d'éléments dans la source de données.

L'exemple de code suivant montre comment utiliser la propriété DataItemIndex pour déterminer l'index de l'élément actuel dans la source de données. Cette valeur permet d'afficher le nombre de pages actuel d'un contrôle Label contenu dans une ligne de pagineur personnalisée.


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

    protected void CustomerDetailView_DataBound(object sender, EventArgs e)
    {

      // Get the pager row.
      DetailsViewRow pagerRow = CustomerDetailView.BottomPagerRow;

      // Get the Label controls that display the current page information 
      // from the pager row.
      Label pageNum = (Label)pagerRow.Cells[0].FindControl("PageNumberLabel");
      Label totalNum = (Label)pagerRow.Cells[0].FindControl("TotalPagesLabel");

      if ((pageNum != null) && (totalNum != null))
      {
          // Update the Label controls with the current page values.
          int page = CustomerDetailView.DataItemIndex + 1;
          int count = CustomerDetailView.DataItemCount;

          pageNum.Text = page.ToString();
          totalNum.Text = count.ToString();
      }
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DetailsView PagerTemplate Example</title>
</head>
<body>
    <form id="Form1" runat="server">

      <h3>DetailsView PagerTemplate Example</h3>

        <!-- Notice that the LinkButton controls in the pager   -->
        <!-- template have their CommandName properties set.    -->
        <!-- The DetailsView control automatically recognizes   -->
        <!-- certain command names and performs the appropriate -->
        <!-- operation. In this example, the CommandName        -->
        <!-- properties are set "Page" and the CommandArgument  -->
        <!-- properties are set to "Next" and "Prev", which     -->
        <!-- causes the DetailsView control to navigate to the  -->
        <!-- next and previous record, respectively.            -->        
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true" 
          allowpaging="true"

          runat="server" OnDataBound="CustomerDetailView_DataBound">

          <headerstyle backcolor="Navy"
            forecolor="White"/>

          <pagerstyle VerticalAlign="Bottom" />

          <pagertemplate>

            <table width="100%">
              <tr>
                <td>
                  <asp:LinkButton id="PreviousButton"
                    text="<"
                    CommandName="Page"
                    CommandArgument="Prev"
                    runat="Server"/>
                  <asp:LinkButton id="NextButton"
                    text=">"
                    CommandName="Page"
                    CommandArgument="Next"
                    runat="Server"/> 
                </td>
                <td align="right">                
                  Page <asp:Label id="PageNumberLabel" runat="server" /> 
                  of <asp:Label id="TotalPagesLabel" runat="server" />                
                </td>
              </tr>
            </table>          
          </pagertemplate>   

        </asp:detailsview>

        <!-- 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="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
            InsertCommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)"
          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] From 
            [Customers]">
        </asp:SqlDataSource>
    </form>
  </body>
</html>



.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

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

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft