|
|||
|
|||
|
|||
|
Note : ce code n'est pas la seule possibilité de personnalisation, mais s'en est une ... Mise en placeOn place un objet panel qui est un conteneur d'objet dans la section <pagertemplate> du Gridview. Pour la suite on suppose que le GridView aura pour identifiant (ID) "mygrid" et que le panel sera nommé (ID) "mypage". Voici le code partiel associé à ce gridview est le suivant : <pagertemplate> Code de création de la paginationLe code ASP.NET de traitement de la pagination, va venir se placer au sein de la procédure DataBound du Gridview, exécuté pendant la constrcution de la grille de données dont l'entête est la suivante : Protected Sub mygrid_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles mygrid.DataBound Note : le code implémenté fonctionne normalement pour n'importe quelles sources de données. Initialisation des variablesLa variable pagerRow correspond à la zone contenant la pagination habituelle, la variable pageList est une copie de notre panel, la variable Index désigne la page en cours de visualisation. Dim pagerRow As GridViewRow = mygrid.BottomPagerRow Dans notre cas on va construire une liste de liens (un peu à la manière de ce que fait un Gridview par défaut), mais on aurait pu envisager par exemple d'afficher une liste déroulante contenant la liste des pages. Limitation du nombre de liens affichésLa section suivante à pour but d'initialiser 2 variables, la première debut va déterminer le numéro de page du premier lien qui sera affiché, la seconde fin contiendra le numéro de la dernière page à affiché. La variable nblien contient le nombre de liens que l'on souhaite voir apparaitre, celle-ci nous permet de déterminer dynamiquement en fonction de l'index de la page affichée, les valeurs de debut et de fin. Voici le code de cette partie : Afficher les liensCette section crée les liens utiles à la pagination et les ajoute dans l'objet panel. La boucle s'effectue de debut jusqu'à fin, variables que nous avons initialisé ci-dessus. Rien de particulier dans ce code si ce n'est que des objet Hyperlink et label (permettant l'espacement entre les liens) sont créés dynamiquement et ajoutés au panel. For i = debut To fin Procédure complèteProtected Sub mygrid_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles mygrid.DataBound |
|
|
(c) 1999-2006 ASP MAGAZINE SARL Partenaires : Codes sources c2i ASP-PHP Hébergement serveurs dédiés Windows |