Entrar

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

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.

318131
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Este artigo se refere ao seguinte namespace Microsoft .NET Framework Class Library:
  • System.Data.SqlClient

NESTA TAREFA

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.

back to the top

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):
back to the top

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.DataImports 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.
back to the top

Warning: This article has been translated automatically

Propriedades

ID do Artigo: 318131 - Última Revisão: 10/24/2013 09:56:13 - Revisão: 2.0

  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
  • kbnosurvey kbarchive kbmt kbhowtomaster kbsqlclient kbsystemdata KB318131 KbMtpt
Comentários