Pagination datagrid

Signaler
Messages postés
9
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
19 janvier 2006
-
Messages postés
87
Date d'inscription
lundi 22 avril 2002
Statut
Membre
Dernière intervention
12 octobre 2006
-
Bonjour,
voilà j'utilise une datagrid dans une page asp.net mais je ne sais pas comment mettre la pagination en route.
j'ai beau lire tous les sujets concernant les datagrids et paginations sur ce forum mais je ne trouve rien qui puisse m'aider à avancer.
mon code est le suivant :

Private
Sub Page_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load



Dim UneCommande
As
New SqlClient.SqlCommand("select NomAcces, IPAcces, DateAcces from Log order by DateAcces desc", MaConnexion)


MaConnexion.Open()


ListeLog.DataSource = UneCommande.ExecuteReader()


ListeLog.DataBind()


MaConnexion.Close()



End
Sub



Private
Sub ListeLog_ItemDataBound(
ByVal sender
As
Object,
ByVal e
As System.Web.UI.WebControls.DataGridItemEventArgs)
Handles ListeLog.ItemDataBound



'Rendre invisible la colonne de la requete d'origine



Try


e.Item.Cells(1).Visible =
False



Catch ex
As Exception


Etat.Text = "Aucun accès."



End
Try



End
Sub

Je précise que je développe en langage VB (et non C).
quelqu'un peut-il m'aider car je suis au bord du suicide!!!!

8 réponses

Messages postés
20
Date d'inscription
samedi 19 juillet 2003
Statut
Membre
Dernière intervention
28 juin 2005

je ne peux pas t'aider sur ce coup mais j'ai exactement le même soucis. as tu mis la proprité AllowPaging à true sur ton datagrid?
moi oui mais je n'arrive pas à obtenir les liens hypertexte de navigation.
si tu as la solution, je serais intéressé.
J'ai déjà posé la même question sur ce forum mais personne n'a su la résoudre.

bon courage,
Messages postés
87
Date d'inscription
lundi 22 avril 2002
Statut
Membre
Dernière intervention
12 octobre 2006

Bonjour,



pour la pagination d'une datagrid, il faut bien mettre la valeur true à
"AllowPaging", puis donner des valeurs aux propriétés de pagerstyle:



>" prevpagetext="<< Précédent" horizontalalign="Center" cssclass="PetitTexte10">

>" prevpagetext="<< Précédent" horizontalalign="Center" cssclass="PetitTexte10">




Mode peut aussi être "NumericPages"

la propriété "PageSize" doit aussi être renseignée : cela correspond au nombre maxi de lignes à afficher sur la page : ex : 20



Ensuite créer la méthode :

private void TaDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)

{

TaDataGrid.CurrentPageIndex = e.NewPageIndex;

//puis appeler la fonction qui initialise ta datagrid

}





Voil j'espère que ça vous aidera.

Aurélie
Messages postés
20
Date d'inscription
samedi 19 juillet 2003
Statut
Membre
Dernière intervention
28 juin 2005

j'ai bien allowpaging à true et j'ai ajouté ton code pour avoir "<<" ">>" dans le bas. le problème c'est que je n' ai toujours pas les liens hypertexte...j'ai aussi ajouté le code dans le .vb mais comme je n'ai pas les liens, ça n'avance à rien.

tu as une idée?
Messages postés
87
Date d'inscription
lundi 22 avril 2002
Statut
Membre
Dernière intervention
12 octobre 2006

tu peux mettre ton code de la datagrid STP


Aurélie
Messages postés
20
Date d'inscription
samedi 19 juillet 2003
Statut
Membre
Dernière intervention
28 juin 2005

<SelectedItemStyle BackColor= "SandyBrown"></SelectedItemStyle>


<HeaderStyle Font-Size ="Small" Font-Names="Times New Roman" Font-Bold="True" HorizontalAlign="Center" ForeColor="White" VerticalAlign="Middle" BackColor="#4361C9"></HeaderStyle>
<FooterStyle BackColor="#4361C9"></FooterStyle>

dans le .vb, j'ai la fonction :
Public Sub dgData_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dgData.PageIndexChanged
dgData.CurrentPageIndex = e.NewPageIndex
mesFonctions.FillDataGrid(dgData, requete1)
End Sub

la fonction FillDatagrid est une fonction que j'ai implémentée pour remplir mes datagrid.
Messages postés
87
Date d'inscription
lundi 22 avril 2002
Statut
Membre
Dernière intervention
12 octobre 2006

si tu mets AllowCustomPaging à false, est-ce que ça marche??

Aurélie
Messages postés
20
Date d'inscription
samedi 19 juillet 2003
Statut
Membre
Dernière intervention
28 juin 2005

je ne peux pas le mettre à false car il me met une erreur dû au fait que je n'utilise pas un dataset pour remplir mon datagrid. j'utilise un reader.
en fait, j'ai fait : monDatagrid.DataSource = monReader

je viens de réussir à faire marcher mes liens hypertext.apparemment il faut mettre monDatagrid.VirtualItemCount=X, X étant le nombre d'enregistrements maximal (que je fixe à 100 par exemple).
mon problème maintenant c'est que je n'arrive pas à le faire avancer dans mes enregistrements par l'utilisation de la fonction PageIndexChanged...ça doit être dû à mon reader mais je ne vois pas comment lui dire de prendre les 10 enregistrements suivants. il faut surement que je change qqc dans ma fonction FillDatagrid qui ne fait que créer un reader, le mettre comment source du datagrid et ensuite faire un databind().


une idée peut être?

merci en tout cas pour ton aide
Messages postés
87
Date d'inscription
lundi 22 avril 2002
Statut
Membre
Dernière intervention
12 octobre 2006

peut-tu mettre la fonction FillDatagrid ??

Aurélie