pagination personnalisée sur le contrôle gridview

Le code ci-dessous fonctionne bien si je supprime le PagerSetting ou le PagerTemplate, donc si j’ai les deux ( PagerSetting & PagerTemplate ), alors le numéro de page n’est pas affiché.

ma question est la suivante: comment puis-je afficher les deux (PagerTemplate et PagerSetting ) ensemble au bas de Gridview? Veuillez vous reporter au code source ci-dessous.

        **** 
Page Size
15 25 50 100
1 Items Found

MISE À JOUR 1:

Je peux afficher la pagination 1 2 3 4 5 … mais le problème est: je ne peux pas avoir à la fois PagerSetting & PagerTemplate et si j’ai les deux (PagerSetting & PagerTemplate) dans ma grid, ma pagination (1 2 3 4 5) n’est pas afficher et si je supprime PagerTemplate que ce que ma recherche affiche (1 2 3 4 5 …) a-t-il un sens?

METTRE À JOUR:

Voici ce que j’essaie d’obtenir:

<< >> Total des pages trouvées: 80 – Page 1/80 – PageSize {15,25,50,10} (ce sera une liste déroulante)

vous pouvez le faire en utilisant le code de suivi

  1. Code d’arrière-plan (événement créé par row de gridview):

     protected void GridView_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Pager) { TableRow tr = (TableRow)e.Row.Cells[0].Controls[0].Controls[0]; if (tr.Cells[1] != null && (((tr.Cells[1]).Controls[0]) is LinkButton)) { LinkButton btnPrev = (LinkButton)(tr.Cells[1]).Controls[0]; if (btnPrev.Text == "...") { (((tr.Cells[1]).Controls[0]) as LinkButton).Text = "<"; } } if (tr.Cells[tr.Cells.Count - 2] != null && (((tr.Cells[tr.Cells.Count - 2]).Controls[0]) is LinkButton)) { LinkButton btnNext = (LinkButton)(tr.Cells[tr.Cells.Count - 2]).Controls[0]; if (btnNext.Text == "...") { (((tr.Cells[tr.Cells.Count - 2]).Controls[0]) as LinkButton).Text = ">"; } } } 

    }

  2. et utiliser la pagersetting comme:

      

vous obtiendrez votre sortie. 🙂

Remarque: N’oubliez pas de définir pageSize et AllowPaging = “true” de la grid.