Lire ligne d'un GridView [Résolu]

adomarle 41 Messages postés jeudi 18 septembre 2003Date d'inscription 15 juin 2012 Dernière intervention - 1 juin 2007 à 17:05 - Dernière réponse : adomarle 41 Messages postés jeudi 18 septembre 2003Date d'inscription 15 juin 2012 Dernière intervention
- 19 juin 2007 à 12:05
Bonjour,

J'ai un gridview avec des colonnes non affichées :
<

asp:GridView
ID= "GridView_Commande"
runat="server"
DataSourceID="DS_Test">

<Columns>





<asp:BoundField
DataField ="Nom_Conso"
HeaderText="Nom_Conso"
SortExpression="Nom_Conso"
/>

<asp:BoundField
DataField="Ref_Conso"
HeaderText="Ref_Conso"
SortExpression="Ref_Conso"
/>

<asp:BoundField
DataField="Prix"
HeaderText="Prix"
SortExpression="Prix"
/>

<asp:TemplateField
HeaderText="Quantit&#233;">

<ItemTemplate>

<asp:TextBox
ID="Quantite"
runat="server"
Width="50px"></asp:TextBox>

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>

J'arrive à récupérer les données affichées mais pas mais données cachées :
for

(
int i = 0; i <
this.GridView_Commande.Rows.Count; i++){

GridViewRow gdRow =
this.GridView_Commande.Rows[i];

for (
int j = 0; j < gdRow.Cells.Count; j++){

TableCell cell = gdRow.Cells[j];

if (cell.Controls.Count != 0){

if (cell.Controls[1]
is
TextBox){

TextBox tb = (
TextBox)cell.Controls[1];this.Label.Text += tb.Text +

"--"}

}

else{

This.Label.Text += cell.Text +

"--";}

}

This.Label.Text +=

"
";

Ce code me permet bien d'afficher les données "affichées" par le gridview mais je n'arrive pas à récupérer le "id_consommable" et le "id_service".

Si quelqu'un a une idée, ce serait super !!!!

Merci d'avance,
Clem
Afficher la suite 

3 réponses

Répondre au sujet
yann_lo_san 1137 Messages postés lundi 17 novembre 2003Date d'inscription 23 janvier 2016 Dernière intervention - 1 juin 2007 à 22:22
+3
Utile
// essayes ça même si je ne vois pas ou sont tes textBox ?

TextBox tb 
= (TextBox)GridView_Commande.Rows[i].FindControl("LE_TEXT_BOX");

Mais dans ton cas tu peux utiliser le champs dataKeyName du gridView

DataKeyNames="id_consomable, id_service"
</gras> >

foreach ( GridViewRow gvr in this.gv )
{
       if( gvr.RowType == DataControlRowType.DataRow )
      {
         // Récupère les données  &
         // les dataKeys de la ligne
         
         int idConso = Convert.ToInt32(gv.DataKeys[gvr.RowIndex].Values[ 0 ]);
         int idServ  = Convert.ToInt32(gv.DataKeys[gvr.RowIndex].Values[1]);
      }
   }
}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de yann_lo_san
caudette 52 Messages postés vendredi 27 janvier 2006Date d'inscription 20 août 2007 Dernière intervention - 18 juin 2007 à 17:23
0
Utile
slt,
dansta gridview, la proprieté visible false donc tu ne veux pas afficher, mets çatrue. et executes pour voir le resultat.
Commenter la réponse de caudette
adomarle 41 Messages postés jeudi 18 septembre 2003Date d'inscription 15 juin 2012 Dernière intervention - 19 juin 2007 à 12:05
0
Utile
Salut,

Mon but est que le champ ne soit pas visible par les utilisateurs.
Merci de ton aide.

Clem
Commenter la réponse de adomarle

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.