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

Traduções de Artigos Traduções de Artigos
Artigo: 318131 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo fornece directrizes 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

Existem várias abordagens para paginação. A paginação é normalmente um problema arquitectural. Em grande parte de paginação depende a estrutura de base de dados e quantos registos tenham a página. Pode utilizar um dos seguintes métodos para implementar a paginação:
  • Utilize a paginação intrínseca que conste o controlo DataGrid . Este método de paginação é fácil de utilizar e funciona bem quando tiver um pequeno número de registos a página. No entanto, o desempenho diminui quando aumenta o número de registos. No Microsoft Visual Basic. NET, existe não paginação intrínseca.Para obter informações adicionais sobre como implementar a paginação, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
    305271COMO: Personalizar página um controlo DataGrid Windows utilizando o Visual Basic .NET
  • Para acelerar o desempenho, criar consultas ou procedimentos armazenados para obter o número de registos que pretende. A secção Custom Paging Sample demonstra como implementar a paginação personalizada.

    Também pode utilizar o TOP e cláusulas WHERE na instrução de SQL para consultas de estrutura ou procedimentos armazenados para obter o número de registos que pretende. Para obter mais informações sobre como utilizar TOP e WHERE para implementar a paginação personalizada, visite o seguinte Web 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 utilizar o controlo DataGrid para implementar a paginação personalizada através do ASP.NET. Quando utiliza este método, é possível obter os registos que pretende em qualquer ordem de página. Como resultado, este método é extremamente eficiente e versátil.

Este exemplo requer que a base de dados incluir tabelas que tenha um índice. Apesar deste exemplo utiliza o Microsoft SQL Server e a base de dados do SQL Server Adamastor , pode adaptar este exemplo para utilizar com qualquer base de dados.
  1. Siga estes passos para criar um novo Visual Basic ASP.NET Web Application:
    1. Inicie o Microsoft Visual Studio NET..
    2. No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .
    3. Na caixa de diálogo Novo projecto , clique em Projectos do Visual Basic em Project Types e, em seguida, clique em ASP.NET Web Application em modelos .
  2. Arraste o controlo DataGrid da caixa de ferramentas para WebForm1.aspx.
  3. Clique com o botão direito do rato DataGrid1 e, em seguida, clique em Construtor de propriedades .
  4. Siga estes passos na caixa de diálogo Construtor de propriedades :
    1. Clique em páginas .
    2. Clique para seleccionar as caixas de verificaçã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 vista de origem HTML. Substitua a tag de <asp:DataGrid> adicionada por predefinição com o seguinte código:
    <asp:DataGrid id="Datagrid1" runat="server" AllowCustomPaging="True" PageSize="3" AllowPaging="True" PagerStyle-Mode="NumericPages" OnPageIndexChanged="DataGrid1_PageIndexChanged">
    </asp:DataGrid>
    					
  6. Clique a duas vezes numa área vazia da página WebForm1.aspx para abrir a janela código e, em seguida, adicione espaços de nomes seguintes ao início da página:
    Imports System.Data
    Imports System.Data.SqlClient
    					
  7. Adicionar a declaração seguinte em Pública Webform1 de classe :
        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 depois da subrotina 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. Prima F5 para executar a aplicação.
  11. Para testar o projecto, seleccione qualquer número de página que está listado abaixo da grelha.

Propriedades

Artigo: 318131 - Última revisão: 30 de janeiro de 2014 - 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 318131

Submeter comentários

 

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