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 :

Récupérer l'ID d'un gridview


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut Récupérer l'ID d'un gridview
    Je voudrais récupérer en code behind l'ID de l'item que je veux modifier dans mon gridview. J'ai cherché sur internet, dans les tutoriaux aussi, j'ai trouvé plein de truc mais je dois être un brin dur d'oreille parce que je comprend pas comment procéder. Si quelqu'un pourrait m'expliquer, peut-être que je comprendrais mieux.

    Merci!

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    En fait je me suis très mal exprimée. C'est mon champs ID que je veux récupérer, qui n'est pas visible dans mon gridview, pour aller chercher les valeurs des autres champs correspondant. Ceci dit maintenant que j'y pense, je vais probablement avoir besoin de ID du gridview pour retourner les données au bon endroit.....

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    J'ai trouvé plein de truc et j'ai droit a une montagne d'erreurs. C'est vraiment difficile a ce point récupéré une valeur, champs invisible ou non? Je suis au bord de la crise de nerfs...

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    Je ne comprends pas ce que tu cherches à faire.

    tu as un élément à l'interieur d'un gridview, et tu cherches à faire quelque chose dessus en code behind?
    Dans ce cas je suppose qu'il faut que tu le déclares dans ton fichier vb, c'est à dire que dans ton fichier tu auras une ligne de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Protected WithEvents Label8 As System.Web.UI.WebControls.Label
    Ensuite tu pourras travailler sur ton élément "Label8".

    ou alors tu rentres dans les propriétés de ton élément runat="server", un exemple dans ton fichier aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:label id="Label8"  runat="server" Height="30px" Width="216px">
    Auquel cas la déclaration sera faite automatiquement dans ton fichier vb ( en tut cas sous visual studio, je ne sais pas pour les autrers environnements de dev )

    Quoi qu'il en soit, la propriété "ID", c'est ce qui identifie ton objet dans le code behind.

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    Je vais faire un détail de la situation. J'ai un gridview connecter a une base de donnée, tout mes champs apparaissent sauf mon champs ID de ma base. J'ai aussi 2 commandfield, edit et delete. Je dois quand j'appuis sur edit, que je passe en code behind, que j'enlève les <br> et compagnie du texte et que je modifie la base de donnée pour pas que le formatage soit visible dans le textbox de modification. Quand on appuie sur mise a jour, le chemin inverse se fait. Pour ca je dois savoir quelles données modifier donc je dois avoir l'ID de ma base qui correspond au clic. Tu vois l'idée?

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    Ok, deja, j'avais confondu ton champs de base de données id avec la propriété id des éléments ASP.NET.

    Je dois quand j'appuis sur edit, que je passe en code behind, que j'enlève les <br> et compagnie du texte et que je modifie la base de donnée pour pas que le formatage soit visible dans le textbox de modification. Quand on appuie sur mise a jour, le chemin inverse se fait. Pour ca je dois savoir quelles données modifier donc je dois avoir l'ID de ma base qui correspond au clic. Tu vois l'idée?
    Non désolé j'ai rien compris.

  8. #8
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    ok.... je dois faire le site de ma compagnie. Tout les items a vendre sont dans une base de données sql server. Pour afficher les items et leur description, je dois les formater avec des <br> et des &eacute; etc pour être sur que ca affiche bien. Donc c'est stocké en base de données avec les balises html. Je dois faire une page admin pour mon patron, pour qu'il puisse ajouter et faire les mise a jour de la base de données sans moi. La section modification, je fais apparaître les items dans un gridview avec option edit et delete a chaque rangée. Sauf que, si j'appuie sur edit, le texte apparait en html. Mais mon patron va pas modifier le texte avec des balise lui. Je dois donc, quand il clic, faire en sorte d'enlever les balises html pour que le texte apparaisse avec des é et non des &eacute; et une fois la modification faite, reformater en html. Pour savoir quoi "déformater", je dois savoir quel item mon patron veut modifier. Donc je veux savoir comment je fais pour savoir ou il clic et pour aller chercher les bonnes données dans ma base. Et maintenant je suis plus clair?

  9. #9
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    Légère évolution, j'ai comprit comment aller chercher le numéro de la ligne sélectionné. Par rowCommand, e.commandArgument. Mais je comprend toujours pas comment l'utiliser pour aller chercher le texte dans la colonne Titre de cette ligne exemple.

  10. #10
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    Alors y'a personne qui sait? Je suis certainement pas la seule qui a besoin de récupérer des valeurs d'un gridview... Personne peut me dire c'est quoi la ligne de code pour y accéder? J'ai trouver 2-3 version différentes et ca marche pas, j'ai des erreurs et comme je connais pas le langage a fond, je vois pas vraiment les différences entre les codes. J'ai essayé ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim idGridView As Integer
     
            idGridView = e.CommandArgument 
            Dim test As String
            test = GridView1.Rows(idGridView).Cells("titreTexte").ToString()
    Probablement que c'est pas comme ca que je dois récupéré l'information puisque j'ai une erreur de syntaxe. Et j'ai essayer avec ca aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridView1.SelectedRow.Cells(3).FindControl("nouvelleTexte").ToString()
    qui me lance une autre erreur "La référence d'objet n'est pas définie à une instance d'un objet."

    Alors quelqu'un peut me donner un coup de main svp sinon j'ai bien peur de devoir me jeter en bas du pont.

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    personnelement je ne sais pas faire mais essaye peut etre de lire ca :
    http://www.developpez.net/forums/arc.../t-141100.html

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Par défaut
    Ce qui est étrange, c'est de stocker les balises HTML dans la base de données, moi je fais exactement le contraire...

    Quand j'affiche les données en mode visu, dans le databound, je remplace le contenu du champ avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CType(fvCmde.FindControl("MONCHAMP"), Label).Text = rowView("MONCHAMP").ToString.Replace(vbCrLf, "<BR/>")
    Et le rendu est impécable... (là c'est un formview...)

    Sinon, j'utilise la propriété DataKeyName pour placer justement le champ identifiant de la table.

    Après, si tu veux savoir l'identifiant d'une ligne, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonGridView.DataKeys(index).Value
    où index est l'index de la ligne qui t'intéresse, que tu peux récupérer par exemple avec un selectedIndex, ou dans un événement...

  13. #13
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    Merci EMC51, j'ai essayé ton code, mais j'imagine que comme je suis sur un gridView c'est pour ca qu'il prend pas ViewRow. Donc je me retrouve vaguement avec le même problème c'est a dire comment je vais récupérer la valeur de ma cellule "nouvelle"?

    Edit: Ok, finalement mon imports était mal fait. Maintenant ca me donne une erreur d'expression

  14. #14
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    euh? je me demandais si tu crees ton griedview dynamaiquement tu dois un moment luidire cree nouvelle ligne ou un truc du style et a ce moment la tu dois pouvoir fair eun truc du style nouvelle.id = "truc" non?

    Et sinon tu as un bouton par ligne de ton grille view?

  15. #15
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    Non il est pas créé dynamiquement, je l'ai fait en mode design lier a un sqlDataSource.

    Oui, j'ai un bouton Modifier et un bouton Supprimer a chaque ligne. La le hic c'est le Modifier.

  16. #16
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    le nombre de lignes est predefini a l'avance?

  17. #17
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    Non, ca ca va continuellement changer.

  18. #18
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 91
    Par défaut
    Finalement paraîtrait que se que je veux faire est impossible a faire sans reprogrammer le contrôle. Alors je vais faire autrement. Merci!

Discussions similaires

  1. Récupérer la selectedValue d'un gridview
    Par zooffy dans le forum ASP.NET
    Réponses: 3
    Dernier message: 20/02/2008, 15h38
  2. Récupérer l'objet selectionné dans gridView
    Par tiboleo dans le forum ASP.NET
    Réponses: 5
    Dernier message: 14/06/2007, 16h27
  3. Comment récupérer valeur cellule d'un gridview?
    Par cortex024 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 23/03/2007, 14h31
  4. Récupérer un record depuis une gridview
    Par Dnx dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/07/2006, 11h42
  5. [C#] Récupérer une valeur d'un gridview
    Par LE NEINDRE dans le forum ASP.NET
    Réponses: 9
    Dernier message: 14/06/2006, 15h21

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