Pagination datagrid

souiter Messages postés 9 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 19 janvier 2006 - 24 juin 2005 à 19:53
cs_aurelie Messages postés 87 Date d'inscription lundi 22 avril 2002 Statut Membre Dernière intervention 12 octobre 2006 - 30 juin 2005 à 13:29
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

arkele Messages postés 20 Date d'inscription samedi 19 juillet 2003 Statut Membre Dernière intervention 28 juin 2005
27 juin 2005 à 08:37
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,
0
cs_aurelie Messages postés 87 Date d'inscription lundi 22 avril 2002 Statut Membre Dernière intervention 12 octobre 2006
28 juin 2005 à 08:58
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
0
arkele Messages postés 20 Date d'inscription samedi 19 juillet 2003 Statut Membre Dernière intervention 28 juin 2005
28 juin 2005 à 10:06
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?
0
cs_aurelie Messages postés 87 Date d'inscription lundi 22 avril 2002 Statut Membre Dernière intervention 12 octobre 2006
28 juin 2005 à 14:30
tu peux mettre ton code de la datagrid STP


Aurélie
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arkele Messages postés 20 Date d'inscription samedi 19 juillet 2003 Statut Membre Dernière intervention 28 juin 2005
29 juin 2005 à 08:39
<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.
0
cs_aurelie Messages postés 87 Date d'inscription lundi 22 avril 2002 Statut Membre Dernière intervention 12 octobre 2006
29 juin 2005 à 14:28
si tu mets AllowCustomPaging à false, est-ce que ça marche??

Aurélie
0
arkele Messages postés 20 Date d'inscription samedi 19 juillet 2003 Statut Membre Dernière intervention 28 juin 2005
30 juin 2005 à 08:55
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
0
cs_aurelie Messages postés 87 Date d'inscription lundi 22 avril 2002 Statut Membre Dernière intervention 12 octobre 2006
30 juin 2005 à 13:29
peut-tu mettre la fonction FillDatagrid ??

Aurélie
0
Rejoignez-nous