Pagination dans un datagrid.

gwadaman2 Messages postés 7 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 23 août 2005 - 22 févr. 2005 à 16:48
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 22 févr. 2005 à 17:26
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

gwadaman2 Messages postés 7 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 23 août 2005
22 févr. 2005 à 16:49
Petite précision, je travail en VB.
Merci de votre aide..

et vla la compilation..
<IMG src="/img
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 févr. 2005 à 17:26
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
0
Rejoignez-nous