Et site med kursusmaterialer, der bruges i forbindelse med undervisning i forskellige it relaterede emnerEn skøn grafik du kan nyde mens der undervises.
   

Send spørgsmål eller kommentar til Thor - klik her: Send en kommentar til Thor - omkring undervisning eller kursus  Søg i kursusmaterialerne. Kan bruges i forbindelse med undervisningen eller efter kurset  Til forsiden af kursusmaterialer.dk 

 

ASP.NET II / Dataset og datagrid objektet / Paging


ASP.NET fjernundervisningskursus

- Vil du gerne på kursus NU?

- Vil du gerne lære i dit eget tempo?

- Har du ikke tid til at tage på kursus ude i byen?

Så køb et kursus i ASP.NET som fjernundervisning på www.it-fjernundervisning.dk


Paging

For at kunne lave paging på et datagrid skal vi er der et par ting vi skal sørge for:

  • Vores datagrid skal have sat paging til true
  • Vi skal have fortalt hvilken routine, der skal kaldes, når siden skifter - det kan man man sætte på "i hånden" på datagrid tagget eller via hændelses styringen. Kommandoen ser sådan her ud:
  • OnPageIndexChanged="ChangePage"
    Visual Studio.NET med VB.NET
    I VS.NET er der i toppen af kodevinduet mulighed for at vælge hvilken eventhandler man vil skrive kode til.
    Koder du c# kan du i egenskabsvinduet til kontrollen vælge navnet på eventhandleren eller sætte den på i hånden som nævnt ovenfor.

    Visual Studio .NET med C#
    På webformen er der i Properties vinduet et lyn, hvor man kan angive de eventhandlere der knytter sig til det enkelte event. Skriv et navn ud for OnPageIndexChanged og klik efterfølgende på navnet - så kan du få lov til at skrive koden til handleren.
  • Vi skal have skrevet routinen, der sørger for at skrifte sideindekset

Læs om paging på fra side 349 i bogen

VB.NET:

Public Class _2_paging
    Inherits System.Web.UI.Page
     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
        DoDatabind()
End If
    End Sub
    Private Sub dgridAndeby_PageIndexChanged(ByVal source As Object, _
ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) _
Handles dgridAndeby.PageIndexChanged
        dgridAndeby.CurrentPageIndex = e.NewPageIndex
        DoDatabind()
    End Sub
    Private Sub DoDatabind()
   Dim dsetAndeby As New DataSet
        dsetAndeby.ReadXml(Server.MapPath("Andeby.xml"))
        dgridAndeby.DataSource = dsetAndeby.Tables(0).DefaultView
        dgridAndeby.DataBind()
    End Sub
End Class

C#

namespace Udviklingcsharp.ASP.NET_II_kursus
{
 public class _2_paging : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DataGrid dgridAndeby;

 
  private void Page_Load(object sender, System.EventArgs e)
  {
if (!IsPostBack)
{
   DoDatabind();
}
  }
  private void DoDatabind()
  {
  DataSet dsetAndeby = new DataSet();
   dsetAndeby.ReadXml(Server.MapPath("Andeby.xml"));
   dgridAndeby.DataSource = dsetAndeby.Tables[0].DefaultView;
   dgridAndeby.DataBind();
  }
  private void PageChange(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
  {
   dgridAndeby.CurrentPageIndex = e.NewPageIndex;
   DoDatabind();
  }
 }
}

Opgave

  • Prøv om du kan få det til at virke
  • Prøv de forskellig indstillinger for paging
  • Sørg for at det er "fornuftigt" layoutet
   
Spacer Spacer Spacer Spacer