Comment parcourir les lignes d'une datagrid dynamiquement?

Comment parcourir les lignes d'une datagrid dynamiquement? - C#/.NET managed - Programmation

Marsh Posté le 10-01-2006 à 20:49:39    

salut tout le monde
après avoir créé une datagrid sous webform é rempli a partir de la base de données, j'ai ajouté une colonne de TextBox et je voudrai bien remplir ces champs de texte et récupérer leur contenu par click sur un bouton.
comment dois je procéder s'il vous plait.
j'ai déja utlisé le truc suivant :
foreach (DataRow row in mydatarow.Rows)
  {    
      string toto = (string) row[3];
  }
sauf qu'ici je récupère le troisième champ de la table de données et pas celui de la datagrid
quelqu'un aura une idée pliiiiz!!!!

Reply

Marsh Posté le 10-01-2006 à 20:49:39   

Reply

Marsh Posté le 10-01-2006 à 23:02:37    

est ce quelqu'un peut m'aider pliiiz, c'est urgent et je ne suis que débutant en C#. ca doit probablement avoir une relation avec
e.Item.FindControl mai je ne suis pas sur.
j'espère que c'est pas ma question qui est ambigue, en fait je souhaite récupérer le contenu des textbox qui sont placés sur une colonne d'une datagrid créée sous web form.merci d'avance
 

Reply

Marsh Posté le 11-01-2006 à 01:52:38    

j'ai essayé le code suivant :
 
 
 
private void Button1_Click(object sender, System.EventArgs e)
{
   string allTextBoxValues = "";
   foreach (Control c in Page.Controls)
   {
      foreach (Control childc in c.Controls)
      {
         if (childc is TextBox)
         {    
            allTextBoxValues += ((TextBox)childc).Text + ",";
         }
      }
   }
   if(allTextBoxValues != "" )
   {
      Label1.Text = allTextBoxValues;
   }
}
 
 
 
mais l'objet Page utilisé ne parcours pas la datagrid maleureusement!!!
je l'ai remplacé par DataGrid1 mais ca ne donne rien.
Que faut il faire a votre avis?
de l'aide s'il vous plait
Merci d'avance!!!

Reply

Marsh Posté le 11-01-2006 à 14:00:21    

je crois avoir trouver comment récupérer le contenu des TextBox après avoir imbriqué quelque "foreach" de la manière suivante :
 
private void Button1_Click(object sender, System.EventArgs e)
  {
   string strey = "";
   foreach (Control c in DataGrid1.Controls)
   {
    foreach (Control cc in c.Controls)  
       
    {  
     foreach (Control ccc in cc.Controls)
     {
      foreach (Control cccc in ccc.Controls)
      {
       if (cccc is TextBox)
       {
        strey +=  ((TextBox)cccc).Text +",";
       }
      }
     }
    }
       
       
   }
   if (strey != "" )
   {
    Label1.Text = strey;
   }
   else
   {
    Label1.Text = "oooops";
   }
  }
 
 
 
mais le problème c'est que je ne récupère que des ",,,," en fait aprè validation il rend les TexBox vides et récupére toujours ce contenu vide, j'ignore pourquoi?!!!
moi ce que je veux c'est récupérer le contenu des TextBox dans un Label....je vous demande votre aide pour débloquer ce truc

Reply

Marsh Posté le 11-01-2006 à 15:15:52    

ca y'est j'ai trouvé, il a fallu tout de de même ne pas l'oublier
il faut ajouter un if(!PostItBack) avant d'effectuer toutes ces opération
c'est très important

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed