Bonjour,
J'aurais souhaité savoir s'il était posssible de gérer l'affichage des pages d'un repeater un peu comme un datagrid avec ses index de pages.
Est-ce, svp, possible?
Cordialement
Merci d'avance
Pinocchio
Bonjour,
J'aurais souhaité savoir s'il était posssible de gérer l'affichage des pages d'un repeater un peu comme un datagrid avec ses index de pages.
Est-ce, svp, possible?
Cordialement
Merci d'avance
Pinocchio
Oui, c'est possible mais c'est assez tordut. Je l'ai fait une fois. Je retrouve le code et je le post.
il faut creer un champs private :Voilà ce que j'ai mis dans mon load :
Code : Sélectionner tout - Visualiser dans une fenêtre à part private PagedDataSource pds_Page;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if (Session["CurrentPage"]==null) { Session["CurrentPage"] = 0; int_Page = 0; //Response.Write("Session null initialisée à : " + Session["CurrentPage"].ToString()); } else { //Response.Write("CurrentPage : " + Session["CurrentPage"].ToString()); int_Page = Convert.ToInt32(Session["CurrentPage"]); }J'ai une méthode setPaging() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 pds_Page = new PagedDataSource(); chargement();et voilà le code se trouve dans la méthode de chargement de la page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private void SetPaging() { pds_Page.AllowPaging = true; pds_Page.PageSize = 200; }Et voilà pour des boutons qui gère le changement de page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 pds_Page.DataSource = _catalogue.GetRootProducts().Tables[0].DefaultView; SetPaging(); pds_Page.CurrentPageIndex = int_Page; int index = pds_Page.CurrentPageIndex + 1; lbl_TotalPages.Text = index.ToString() + " sur " + pds_Page.PageCount; cmd_Preview.Enabled = !pds_Page.IsFirstPage; cmd_Next.Enabled = !pds_Page.IsLastPage; Repeater1.DataSource = pds_Page ; Repeater1.DataBind();Voilà, en esperant t'avoir aidé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 private void cmd_Next_Click(object sender, System.EventArgs e) { if((int) Session["CurrentPage"] < pds_Page.PageCount) { int_Page = (int) Session["CurrentPage"] + 1; } Session["CurrentPage"] = int_Page; chargement(); } private void cmd_Preview_Click(object sender, System.EventArgs e) { if((int) Session["CurrentPage"]> 0) { int_Page = (int) Session["CurrentPage"] - 1; } Session["CurrentPage"] = int_Page; chargement(); } private void cmd_PremPage_Click(object sender, System.EventArgs e) { int_Page = 0; Session["CurrentPage"] = int_Page; chargement(); } private void cmd_DerPage_Click(object sender, System.EventArgs e) { int_Page = pds_Page.PageCount - 1; Session["CurrentPage"] = int_Page; chargement(); }
Merci beaucoup,
Je me bats pour le premier chargement car il affiche tout mais sinon c'est impec.
Merci beaucoup.
Cordialement
Pinocchio
PS : résolu de A à Z mauvaise écriture de ma part
Partager