COMO: Página através de um resultado da consulta para melhor desempenho

Traduções deste artigo Traduções deste artigo
ID do artigo: 318131 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo a passo fornece diretrizes sobre como implementar a paginação. Este artigo fornece alguns exemplos de paginação e descreve a vantagem de cada método.

Métodos para implementar paginação

Há várias abordagens para paginação. Paginação normalmente é um problema de arquitetura. Paginação amplamente vai depender de seu design de banco de dados e quantos registros você têm à página. Você pode usar um dos seguintes métodos para implementar a paginação:
  • Use a paginação intrínseca que está disponível no controle DataGrid . Esse método de paginação é fácil de usar e funciona bem quando você tiver um pequeno número de registros a página. No entanto, o desempenho diminui quando aumenta o número de registros. No Microsoft Visual Basic. NET, há não paginação intrínseca.Para obter informações adicionais sobre como implementar a paginação, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    305271COMO: Personalizar página um controle DataGrid Windows usando o Visual Basic .NET
  • Para acelerar o desempenho, crie consultas ou procedimentos armazenados para recuperar o número de registros que você deseja. A seção do Custom Paging Sample demonstra como implementar a paginação personalizada.

    Você também pode usar o TOP e cláusulas WHERE em sua instrução SQL para consultas de design ou procedimentos armazenados para recuperar o número de registros que você deseja. Para obter mais informações sobre como usar TOP e WHERE para implementar paginação personalizada, visite a seguinte site da Microsoft Developer Network (MSDN):
    Paginação através de um resultado da consulta
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconpagingthroughqueryresult.asp

Exemplo de paginação personalizada

Este exemplo demonstra como usar um controle DataGrid para implementar a paginação personalizada por meio do ASP.NET. Quando você usa esse método, você pode recuperar os registros que você deseja em qualquer ordem de página. Como resultado, esse método é altamente eficiente e versátil.

Este exemplo requer que o banco de dados inclua tabelas que possuem um índice. Embora esse exemplo use o Microsoft SQL Server e o banco de dados SQL Server Northwind , você pode adaptar este exemplo para usar com qualquer banco de dados.
  1. Siga estas etapas para criar um novo aplicativo Web de ASP.NET Visual Basic:
    1. Inicie o Microsoft Visual Studio NET..
    2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
    3. Na caixa de diálogo New Project , clique em Projetos do Visual Basic em Tipos de projeto e, em seguida, clique em ASP.NET Web Application em modelos .
  2. Arraste um controle DataGrid da caixa de ferramentas a WebForm1.aspx.
  3. Clique com o botão direito do mouse DataGrid1 e clique em Construtor de propriedades .
  4. Execute as seguintes etapas na caixa de diálogo Construtor de propriedades :
    1. Clique em paginação .
    2. Clique para selecionar as caixas de seleção AllowCustomPaging e AllowPaging .
    3. Defina a propriedade PageSize para 3 .
    4. Na lista modo , clique em Números de página .
    5. Clique em Aplicar e, em seguida, clique em OK .
  5. Clique em HTML na parte inferior da WebForm1.aspx para abrir a exibição da fonte HTML. Substitua a marca <asp:DataGrid> que é adicionada por padrão com o código a seguir:
    <asp:DataGrid id="Datagrid1" runat="server" AllowCustomPaging="True" PageSize="3" AllowPaging="True" PagerStyle-Mode="NumericPages" OnPageIndexChanged="DataGrid1_PageIndexChanged">
    </asp:DataGrid>
    					
  6. Clique duas vezes em uma área vazia da página WebForm1.aspx para abrir a janela código e, em seguida, adicione os namespaces a seguir à parte superior da página:
    Imports System.Data
    Imports System.Data.SqlClient
    					
  7. Adicione a declaração a seguir em Public Class Webform1 :
        Dim cn As SqlConnection
        Dim StartIndex As Integer
        Dim EndIndex As Integer
    					
  8. Adicione o seguinte código no evento Page_Load do formulário:
            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. Adicione o seguinte código após a sub-rotina 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. Pressione F5 para executar o aplicativo.
  11. Para testar o projeto, selecione qualquer número de página que está listado abaixo da grade.

Propriedades

ID do artigo: 318131 - Última revisão: quinta-feira, 24 de outubro de 2013 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhowtomaster kbsqlclient kbsystemdata KB318131 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 318131

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