begin process at 2010 07 31 04:36:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

WebControl

 > 

Parcourir l'intégralité des données d'un GridView


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Parcourir l'intégralité des données d'un GridView

lundi 11 juin 2007 à 09:26:53 | Parcourir l'intégralité des données d'un GridView

yoyo041080

Bonjour,

J'ai un GridView dans lequel j'ai un Template field contenant un checkbox sur lequel agiront mes utilisateurs pour sélectionner ou non la donnée représentée par la ligne du GridView

<

asp:GridViewID="gvSeuils"runat="server"AllowPaging="True"AllowSorting="True">

<Columns>

<asp:BoundFieldDataField="Id"HeaderText="Id"SortExpression="Id">

<ItemStyleHorizontalAlign="Center"Width="50px"/>

<HeaderStyleFont-Underline="True"/>

</asp:BoundField>

<asp:BoundFieldDataField="Amenagement"HeaderText="Am,nagement"SortExpression="Amenagement">

<HeaderStyleFont-Underline="True"/>

</asp:BoundField>

<asp:BoundFieldDataField="Type"HeaderText="Type"SortExpression="Type">

<ItemStyleWidth="50px"/>

<HeaderStyleFont-Underline="True"/>

</asp:BoundField>

<asp:BoundFieldDataField="Code"HeaderText="Code"SortExpression="Code">

<HeaderStyleFont-Underline="True"/>

</asp:BoundField>

<asp:BoundFieldDataField="Nom"HeaderText="Nom"SortExpression="Nom">

<HeaderStyleFont-Underline="True"/>

</asp:BoundField>

<asp:BoundFieldDataField="Nature"HeaderText="Nature"SortExpression="Nature">

<ItemStylewidth="50px"/>

<HeaderStyleFont-Underline="True"/>

</asp:BoundField>

<asp:BoundFieldDataField="Valeur"HeaderText="Valeur"SortExpression="Valeur">

<ItemStyleWidth="50px"HorizontalAlign="Right"/>

<HeaderStyleFont-Underline="True"/>

</asp:BoundField>

<asp:TemplateFieldInsertVisible="False"ShowHeader="False">

<ItemStyleHorizontalAlign="Center"Width="10px"/>

<HeaderStyleFont-Underline="false"/>

<ItemTemplate>

<asp:CheckBoxID="ckbFonction"runat="server"/>

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>


Je souhaite lors de la validation parcourir l'intégralité des pages affichées par ma GridView afin de récupérer ou non la sélection de ces CheckBox

Pour cela, je fais
:

For

Each myRow As GridViewRow In gvSeuils.Rows

      IfCType(myRow.Cells(7).Controls(1), CheckBox).Checked Then

            seuilSelectionnee =

True

            ExitFor

      EndIf

Next



Le souci, c'est que gvSeuils.Rows ne renvoie que le nombre de lignes affichées (10 pour moi) par la pagination, je ne parcours donc que les données de la page courante affichée

Je n'arrive pas à mettre la main sur la nom de la propriété permettant de parcourir intégralement toutes les lignes.

Merci d'avance

Yoan
lundi 11 juin 2007 à 11:46:37 | Re : Parcourir l'intégralité des données d'un GridView

drahcir

Salut,

à defaut de trouver cette commande (je ne sais pas si ça existe), tu peux toujours parcourir toutes les pages de ta GridView...

C'est vrai que ça te fera 2 boucles imbriquées mais ça marchera.



@+  
lundi 11 juin 2007 à 16:29:33 | Re : Parcourir l'intégralité des données d'un GridView

obel

va voir ça


[ Lien ]

O'live

lundi 11 juin 2007 à 16:31:57 | Re : Parcourir l'intégralité des données d'un GridView

yoyo041080

Merci de ta réponse

Autant pour moi, je n'ai pas précisé que j'avais testé le parcours avec changement de page :

nbPage = gvSeuils.PageCount - 1

For indexPage AsInteger = 0 To nbPage

      gvSeuils.PageIndex = indexPage

      ForEach myRow As GridViewRow In gvSeuils.Rows

            If  CType(myRow.Cells(7).Controls(1), CheckBox).Checked Then

                  ' traitement
            

EndIf      
      
Next

      indexPage += 1

Next

Cette solution ne fonctionne malheureusement pas  Il ne tiens pas compte du changement de page et renvoie les données de la page courante...

D'ailleurs, dans la MSDN, il est écrit :

 When the paging feature is enabled (by setting the AllowPaging property to true), use the PageIndex property to determine the index of the currently displayed page. You can also use this property to programmatically change the displayed page.

Il n'est pas précisé que ça permet de parcourir l'intégralité du GridView "programmatically"

HELP
lundi 11 juin 2007 à 16:40:21 | Re : Parcourir l'intégralité des données d'un GridView

drahcir

Regarde du côté de l'évènement RowDataBound de ton GridView.



@+  
lundi 11 juin 2007 à 17:05:09 | Re : Parcourir l'intégralité des données d'un GridView

yoyo041080

Merci drahcir et obel pour vos réponses.

@drahcir : j'ai parcourue la MSDN de RowDataBound : on ne parle pas de parcours de données

@obel : site fort intéressant, je garde précieusement le lien, mais pas de réponse à ma question

lundi 11 juin 2007 à 17:14:19 | Re : Parcourir l'intégralité des données d'un GridView

drahcir


Protected

Sub GridView1_RowDataBound( ByVal sender As Object , ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

   If  CType(e.Cells(7).Controls(1), CheckBox).Checked Then

                  ' traitement
   

End If      

End Sub




@+  
lundi 11 juin 2007 à 17:22:23 | Re : Parcourir l'intégralité des données d'un GridView

yoyo041080

Merci, mais comme je l'explique dans mon premier message, l'idée est :
1) de proposer une liste d'environ 250 éléments affichés par page de 10 éléments
2) je laisse les utilisateurs sélectionner dans ces 25 pages les éléments qu'ils veulent
3) c'est lors de la validation de la page que je veux parcourir mon GridView pour récupérer la sélection

Donc, RowDataBound ne me permet pas de faire ceci

Je ne dois pas être le seul à vouloir faire cette manipulation élémentaire dans une IHM

lundi 11 juin 2007 à 17:37:19 | Re : Parcourir l'intégralité des données d'un GridView

drahcir

et la validation de la page ne se fait pas à chaque changement de page?



@+  
lundi 11 juin 2007 à 17:48:26 | Re : Parcourir l'intégralité des données d'un GridView

yoyo041080

Je voudrais récupéré mes données à la validation définitive de ma page, pas sur un PostBack de changement de page d'un GridView.

Pourquoi ? Pour récupérer en une seule fois la liste des données sélectionnées.

Je comprends ce que tu me proposes. Le problème, c'est que comme on peut revenir plusieurs fois sur la même page pour cocher et décocher des éléments, ça oblige à faire des recherche dans une collection pour savoir si l'élément existe ou non dedans. Je te laisse imaginer les performances... (ma liste minimale est de 250 éléments)



Enfin, il me semble que RowDataBound est déclenché au chargement de la page, pas à sa validation :

Validation de la page => Load de la page suite au post back => chargement des données de la gridview => rowdatabound pour chaque ligne

Me trompège

1 2

Cette discussion est classée dans : asp, true, boundfielddatafield, headerstylefont, underline


Répondre à ce message

Sujets en rapport avec ce message

Comment exécuter un script client à partir d'un GridView (bouton). [ par laurent_diep ] Bonjour à tous, Mon problème est le suivant : Je dois exécuter du code coté client (VBScript) qui ouvre un Visualisateur de molécule côté client p FormView [ par hdunoyer ] Bonjour,J'ai un FormView avec AllowPaging="True".La pagination est bien là en Design mais je n'ai rien quand je lance l'appli asp CollapsiblePanelExtender Problem [ par mikomiko ] Bonjour, J'utilise dans mon appli le dernier pack ajax (ex recupéé les ligne dun datagrid [ par imsse ] Bonjour,J'ai un  datagrid quicontient des Boundcolumn et une itemtemplate.Voici le code:asp:datagrid<font col gridview [ par casa51 ] bonjour,voila je debute en asp.net mais j ai de solide connaissance en asp classique je suis un peux deroutermasi bon voilaj ai construit un site (la parametres d'un GridView [ par slyderkiller ] slt a ttVoila j'ai créé une page .aspx avec a l'interieur un GridView qui affiche des données d'une base sql.j'ai donc des BoundField mais il en a que Lire ligne d'un GridView [ par adomarle ] Bonjour,J'ai un gridview avec des colonnes non affichées :asp:GridView<fon sécurité (asp.net) [ par realnadir ] Bonjour, Je sécurise l'accés à une page administration d'un site via un "login" créer avec visual studio 2005.Jusque là tous va bien, mais le problè Déboguage de L'ASP [ par sounamar ] SVP j'ai besoin de votre aide aproppos de déboguage d'une tel application ASP, car lorsque j'écrit le code le rectangle de débogu est désactivé, merci asp.net lien requete et données dynamiques [ par missette ] coucou tt le monde, je voudrais savoir comment faire pour établir un lien entre les données dynamiques se trouvant dans un datagride et des requete.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales