Pagination dans un datagrid.

Signaler
Messages postés
7
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
23 août 2005
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Au secour avant de tout casser!!!!
Gros problémes de pagination dans un datagrid.
J'ai un datagrid qui est alimenter par une base oracle via une requétes.
Jusque la tout marche bien, mon datagrid est bien renseigner.
J'ai paramétrer la pagination via le "Générateur de propriétés"
Mes numéro de pages apparaisent donc bien.
Dans le code Behind, j'ai rajouter dans le paragrphe :
"Datagrid1_PageIndexChanged (ByVal source as Object, ByVal e as .......)"

"Datagrid1.currentPagesIndex = e.NewPageIndex"
"Datagrid1.DataBind()"

Lors de l'éxécution et du clic sur le n'importe quel numéro de pages, il me dit:
" Valeur CurrentPageIndex non valide, Elle doit étres >=0 et < PageCount." Aprés analyse, il s'avére que ma valeur CurrentPageIndex 0 et PageCount 56.
Il ne devrait donc pas y avoir de problémes.

J'ai donc fait le test suivant:
J'ai supprimer la ligne "Datagrid1.DataBind()" du rafraichisement du datagrid.
Le résultats et qu'il changes de pages sans mettre à jour les données.
Normal vous me direz, mais alors pk lorsque je mets à jour les données il me parles du PageCount??

Merci de votre aide et dite moi si je n'est pas été assez clair...

et vla la compilation..
<IMG src="/img

2 réponses

Messages postés
7
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
23 août 2005

Petite précision, je travail en VB.
Merci de votre aide..

et vla la compilation..
<IMG src="/img
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
moi je fais comme ca :



Private Sub DataGrid1_PageIndexChanged(ByVal source
As Object, ByVal e As
System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles
DataGrid1.PageIndexChanged

Me.DataGrid1.CurrentPageIndex = e.NewPageIndex

Me.DataGrid1.EditItemIndex = -1

BindData()

End Sub



et

Private Sub BindData()

Dim DS As New DataSet

DS.ReadXml(Server.MapPath("~\data\RssFeed.xml"))

DS.ReadXmlSchema(Server.MapPath("~\data\RssFeed.xsd"))

DataGrid1.DataSource = DS.Tables(0).DefaultView

DataGrid1.DataKeyField = "ID"

DataGrid1.DataBind()

DS.Dispose()

End Sub





Il me semble qu'il faut que tu refasse un datasource, car la tu lui
demande, mais il n'a plus rien à faire, tu as encore ta page, car tu
n'as pas désactivé le viewstate, donc il récupere les infos d'ici.




<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr