HOW TO: Pagina di un risultato della query per le prestazioni migliori

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

318131
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
In questo articolo si riferisce la spazio dei nomi Microsoft .NET Framework Class Library riportato di seguito:
  • System.Data.SqlClient

Contenuto dell'attività

Sommario
In questo articolo dettagliato vengono fornite indicazioni sulle modalità di implementazione paging. In questo articolo vengono forniti alcuni esempi di paging e viene descritto il vantaggio di ciascun metodo.

back to the top

Metodi per implementare paging

Esistono molti approcci alla paginazione. Paging è in genere un problema dell'architettura. Paging in gran parte dipende dalla progettazione del database e il numero di record che alla pagina. È possibile utilizzare uno dei seguenti metodi per implementare il paging:
  • Utilizzare il paging intrinseco disponibile nel controllo DataGrid . Questo metodo di paging è di facile utilizzo e funziona correttamente quando si dispone di un piccolo numero di record per pagina. Tuttavia, le prestazioni diminuisce quando aumenta il numero di record. In Microsoft Visual Basic. NET, non è disponibile alcun paging intrinseco.Per ulteriori informazioni su come implementare il paging, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    305271HOW TO: Personalizzato paging un controllo Windows DataGrid utilizzando Visual Basic .NET
  • Per velocizzare le prestazioni, progettare la query o stored procedure per recuperare il numero di record che desidera. La sezione Custom Paging Sample viene illustrato come implementare il paging personalizzato.

    È inoltre possibile utilizzare il TOP e le clausole WHERE nell'istruzione SQL per Progettazione query o stored procedure per recuperare il numero di record che desidera. Per ulteriori informazioni su come utilizzare TOP e WHERE per implementare il paging personalizzato, dei comandi visitare il seguente sito Web MSDN (informazioni in lingua inglese):
back to the top

Esempio di paging personalizzato

In questo esempio viene illustrato come utilizzare un controllo DataGrid per implementare il paging personalizzato tramite ASP.NET. Quando si utilizza questo metodo, è possibile recuperare i record che si desidera un ordine di pagina. Di conseguenza, questo metodo è estremamente efficiente e versatile.

Questo esempio è necessario che il database include tabelle che includono un indice. Sebbene in questo esempio venga utilizzato Microsoft SQL Server e il database Northwind di SQL Server, è possibile adattare questo esempio da utilizzare con qualsiasi database.
  1. Attenersi alla seguente procedura per creare una nuova applicazione Web ASP.NET di Visual Basic:
    1. Avviare Microsoft Visual Studio .NET.
    2. Scegliere Nuovo dal menu file , quindi progetto .
    3. Nella finestra di dialogo Nuovo progetto scegliere Progetti di Visual Basic in Tipi progetto , quindi Applicazione Web ASP.NET in modelli .
  2. Trascinare un controllo DataGrid dalla casella degli strumenti a WebForm1.aspx.
  3. Fare clic con il pulsante destro del mouse su DataGrid1 e quindi fare clic su Generatore proprietà .
  4. Attenersi alla seguente procedura nella finestra di dialogo Generatore proprietà :
    1. Fare clic su spostamento .
    2. Fare clic per selezionare il AllowPaging e le caselle di controllo AllowCustomPaging .
    3. Impostare la proprietà PageSize 3 .
    4. Scegliere Numeri di pagina nell'elenco modalità .
    5. Fare clic su Applica e quindi fare clic su OK .
  5. Fare clic su HTML nella parte inferiore della WebForm1.aspx per aprire la visualizzazione del codice sorgente HTML. Sostituire il tag <asp:DataGrid> per impostazione predefinita con il codice riportato di seguito viene aggiunto:
    <asp:DataGrid id="Datagrid1" runat="server" AllowCustomPaging="True" PageSize="3" AllowPaging="True" PagerStyle-Mode="NumericPages" OnPageIndexChanged="DataGrid1_PageIndexChanged"></asp:DataGrid>					
  6. Fare doppio clic in un'area vuota della pagina WebForm1.aspx per aprire la finestra del codice e quindi aggiungere i seguenti spazi dei nomi in cima alla pagina:
    Imports System.DataImports System.Data.SqlClient					
  7. Aggiungere la seguente dichiarazione in Public Class Webform1 :
        Dim cn As SqlConnection    Dim StartIndex As Integer    Dim EndIndex As Integer					
  8. Aggiungere il codice riportato di seguito nell'evento Page_Load del modulo:
            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. Aggiungere il codice seguente dopo la subroutine 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. Premere F5 per eseguire l'applicazione.
  11. Per verificare il progetto, selezionare qualsiasi numero di pagina elencato sotto la griglia.
back to the top

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 318131 - Ultima revisione: 02/09/2014 00:26:43 - Revisione: 2.0

  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
  • kbnosurvey kbarchive kbmt kbhowtomaster kbsqlclient kbsystemdata KB318131 KbMtit
Feedback