IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Comment récupérer valeur cellule d'un gridview?


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut Comment récupérer valeur cellule d'un gridview?
    Bonjour,

    ceci est une question simple, mais je n'arrive pàlus à retrouver comment faire pour les gridview, je le fais avec les datagrid pourtant

    j'ai vu ceci sur msdn:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if(e.CommandName=="Select")
        {
     
          // Convert the row index stored in the CommandArgument
          // property to an Integer.
          int index = Convert.ToInt32(e.CommandArgument);    
     
          // Get the last name of the selected author from the appropriate
          // cell in the GridView control.
          GridViewRow selectedRow = CustomersGridView.Rows[index];
          TableCell contactName = selectedRow.Cells[1];
          string contact = contactName.Text;  
     
          // Display the selected author.
          Message.Text = "You selected " + contact + ".";
     
        }
    alors je fais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string monstring = GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells[1].ToString();
    mais cela ne fonctionne pas il me renvoie ceci:
    System.Web.UI.WebControls.DataControlFieldCell
    pouvez vous m'indiquer la bonne syntaxe??

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    Salut,
    test sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridView1.SelectedRow.Cells[1].Text

  3. #3
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par wayak3
    Salut,
    test sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridView1.SelectedRow.Cells[1].Text
    je vais devenir fou

    c'est une des premières choses que j'avais testé (le .text) ca ne passait pas à la compilation

    mais ceci fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monstring = GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells[1].Text;

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    Et c'est quoi la commande si on veut la ligne 2 du DataGrid???

  5. #5
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par MayOL69bg
    Et c'est quoi la commande si on veut la ligne 2 du DataGrid???
    un peu bizarre de vouloir la ligne 2, mais ca devrait être ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monstring = GridView1.Rows[2].Cells[1].Text;

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    Pou être exact, j'ai un MonthCalendar avec une datagrid à coté. Et dès que l'utilisateur clique sur une date du calendrier, celle-ci est automatiquement ajouté dans le DataGrid. Il me faut donc ensuite récupérer toutes les valeurs du DataGrid

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    C'est normal que dans mon datagrid, j'ai pas la propriété "Rows"

    Autremendit DataGrid.Rows n'existe pas

  8. #8
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    enfin j'ai trouvé ceci :
    [CODE]Rendez_vous.Items[0].Cells[0].Text;
    ça marche por les textbox ou autres controles mais ça ne marche pas pour une DropDownlist, ça retourne une chaîne vide alors qu'il y a une valeur par défaut

  9. #9
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    J'arrive à récuperer le control :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     DropDownList Dop = new DropDownList();
                Dop = (DropDownList)Rendez_vous.Items[0].Cells[0].FindControl("DropDuree");
    mais comment lui assimiler une valeur...

    il y a bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dop.SelectedItem.Text = "Essai";

    mais après???

  10. #10
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    SelectedItem c'est l 'objet qui est contenu dans ta DropDownList.
    Dans ton exemple, c'est un DataRow qu'il faut mettre en face pour que ça marche.

    Je conseille d'utiliser systématiquement le SelectedIndex pour choisir l'index de la valeur que tu veux afficher. C'est bien plus pratique et moins "prone-to-error" que les autres.

    Sinon si tu persistes, tu peux essayer SelectedValue qui est pas mal aussi. Là tu dois lui assigner la valeur qui est contenue dans ton DropDownList et associée à ton texte.

    Note : en aucun cas tu ne dois passer par le texte pour sélectionner une valeur dans une DropDownList.
    Tu peux le faire (tu fais un boucle pour trouver l'index de ton texte et tu assignes pas SelectedIndex), mais c'est de la mauvaise programmation.
    Pourquoi ? Parce que le texte doit être indépendant de la valeur à laquelle il est associé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer valeur cellule dans classeur
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 17/03/2008, 00h54
  2. [PEAR][HTML_QuickForm] Comment récupérer valeurs hierselect par POST ?
    Par petchos dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 07/06/2007, 14h10
  3. Réponses: 2
    Dernier message: 24/04/2006, 11h27
  4. [VBA-E]Récupérer valeur cellule
    Par wanou44 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 06/02/2006, 12h52
  5. [POI]Récupérer valeur cellule suivant format
    Par leminipouce dans le forum Documents
    Réponses: 1
    Dernier message: 27/10/2005, 08h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo