Comment faire : page dans un résultat de requête de meilleures performances

Traductions disponibles Traductions disponibles
Numéro d'article: 318131 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article étape par étape fournit des instructions sur la façon d'implémenter d'échange. Cet article fournit quelques exemples de pagination et décrit l'avantage de chaque méthode.

Méthodes pour implémenter d'échange

Il existe plusieurs approches d'échange. Pagination est généralement un problème d'architecture. Pagination largement dépend de la structure de votre base de données et le nombre d'enregistrements que sur page. Vous pouvez utiliser une des méthodes suivantes pour implémenter d'échange :
  • Utilisez la pagination intrinsèque qui est disponible dans le contrôle DataGrid . Cette méthode de pagination est facile à utiliser et fonctionne correctement lorsque vous avez un petit nombre d'enregistrements à la page. Cependant, performances diminue lorsque augmentez le nombre d'enregistrements. Dans Microsoft Visual Basic .NET, il n'existe aucun pagination intrinsèque.Pour plus d'informations sur la façon implémenter d'échange, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances :
    305271 Comment faire pour personnaliser page un contrôle DataGrid Windows à l'aide de Visual Basic .NET
  • Pour accélérer les performances, créer des requêtes ou des procédures stockées pour extraire le nombre d'enregistrements que vous souhaitez. La section Custom Paging Sample explique comment implémenter la pagination personnalisée.

    Vous pouvez également utiliser le TOP et les clauses WHERE de votre instruction SQL de requêtes de création ou de procédures stockées pour extraire le nombre d'enregistrements que vous souhaitez. Reportez-vous pour plus d'informations sur l'utilisation de TOP et WHERE implémenter personnalisé d'échange, à le MSDN (Microsoft Developer Network) adresse suivante :
    Pagination dans un résultat de requête
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconpagingthroughqueryresult.asp

Modèles d'échange personnalisé

Cet exemple montre comment utiliser un contrôle DataGrid d'implémenter d'échange personnalisé via ASP.NET. Lorsque vous utilisez cette méthode, vous pouvez récupérer les enregistrements que vous souhaitez dans l'ordre des pages. Par conséquent, cette méthode est très efficace et polyvalentes.

Cet exemple nécessite que la base de données inclure les tables qui comporte un index. Bien que cet exemple utilise Microsoft SQL Server et la base de données SQL Server Les Comptoirs , vous pouvez adapter cet exemple à utiliser avec n'importe quelle base de données.
  1. Procédez comme suit pour créer une application Web ASP.NET Visual Basic :
    1. Démarrez Microsoft Visual Studio .NET.
    2. Dans le menu Fichier , pointez sur Nouveau , puis cliquez sur projet .
    3. Dans la boîte de dialogue Nouveau projet , cliquez sur projets Visual Basic sous types de projet , puis cliquez sur Application Web ASP.NET sous modèles .
  2. Faites glisser un contrôle DataGrid de la boîte à outils vers WebForm1.aspx.
  3. Cliquez avec le bouton droit sur DataGrid1 , puis cliquez sur Générateur de propriété .
  4. Procédez comme suit dans la boîte de dialogue Générateur, propriété
    1. Cliquez sur d'échange .
    2. Cliquez pour sélectionner des cases à cocher AllowCustomPaging et le AllowPaging .
    3. Définir la propriété PageSize à 3 .
    4. Dans la liste mode , cliquez sur les numéros de page .
    5. Cliquez sur Appliquer , puis cliquez sur OK .
  5. Cliquez sur HTML en bas du fichier WebForm1.aspx pour ouvrir la vue de source HTML. Remplacer la balise <asp:DataGrid> qui est ajoutée par défaut par le code suivant :
    <asp:DataGrid id="Datagrid1" runat="server" AllowCustomPaging="True" PageSize="3" AllowPaging="True" PagerStyle-Mode="NumericPages" OnPageIndexChanged="DataGrid1_PageIndexChanged">
    </asp:DataGrid>
    					
  6. Double-cliquez dans une zone vide de la page WebForm1.aspx pour ouvrir la fenêtre de code et réintégration des espaces de noms suivante en haut de la page :
    Imports System.Data
    Imports System.Data.SqlClient
    					
  7. Ajoutez la déclaration suivante sous Webform1 classe publique :
        Dim cn As SqlConnection
        Dim StartIndex As Integer
        Dim EndIndex As Integer
    					
  8. Ajoutez le code suivant dans l'événement Page_Load de l'écran :
            Dim myCommand As SqlCommand
            cn = New SqlConnection("server = localhost; uid=userid; pwd=password; database=Northwind ")
            If Not IsPostBack Then
                myCommand = New SqlCommand()
                myCommand.CommandText = "Select Count(*) from Products"
                myCommand.Connection = cn
                cn.Open()
                DataGrid1.VirtualItemCount = myCommand.ExecuteScalar()
                cn.Close()
                BindDatagrid()
            End If
    					
  9. Ajoutez le code suivant après la sous-routine Page_Load :
         Sub BindDatagrid()
            Dim myAdapter As SqlDataAdapter
            Dim DS As DataSet
            EndIndex = StartIndex + DataGrid1.PageSize
            myAdapter = New SqlDataAdapter("Select * From Products Where ProductID > @startIndex And ProductID <= @endIndex Order by ProductID", cn)
            myAdapter.SelectCommand.Parameters.Add("@startIndex", StartIndex)
            myAdapter.SelectCommand.Parameters.Add("@endIndex", EndIndex)
            DS = New DataSet()
            myAdapter.Fill(DS)
            DataGrid1.DataSource = DS
            DataGrid1.DataBind()
        End Sub
    
        Public Sub datagrid1_PageIndexChanged(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs)
            StartIndex = (e.NewPageIndex * DataGrid1.PageSize)
            DataGrid1.CurrentPageIndex = e.NewPageIndex
            BindDatagrid()
        End Sub
    					
  10. Appuyez sur F5 pour exécuter l'application.
  11. Pour tester le projet, sélectionnez n'importe quel numéro de page qui est répertorié sous la grille.

Propriétés

Numéro d'article: 318131 - Dernière mise à jour: vendredi 24 janvier 2014 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
Mots-clés : 
kbnosurvey kbarchive kbmt kbhowtomaster kbsqlclient kbsystemdata KB318131 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 318131
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com