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 :

Gridview Recupere donné


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Par défaut Gridview Recupere donné
    Bonjour,

    Alors je suis au bord de la rupture pourtant mon problème n'est vraiment pas compliqué mais sur le net je ne trouve rien qui me va...
    Je veux seulement récupérer un valeur qui se trouve dans un colonne non afficher dans une gridview...
    Jusque la tout va bien je pensé faire un trucs du style gridview.row[index]["nomColonne"]. Mais nan cela ne marche pas...
    Quelque aurait'il la solution ???
    Merci d'avance.
    Pierre

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Non affichée comment? CSS, non databindée?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut
    As tu essayé quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DataTable table = (DataTable) myGridView.DataSource ;
    OU
    gridview.row[index].Cells[3].
    Et d'ensuite avec ta table, accéder directement aux données ?

  4. #4
    Membre confirmé
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    c'est très simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    StringBuilder collection = new StringBuilder();
    int indexARecup = 3;
    foreach (DataGridViewRow item in gridview.Rows)
        collection.Append(item.Cells[indexARecup].Value.ToString());
    Pour l'exemple j'ai ajouté tous les champs dans un StringBuilder.

    Si tu souhaite ne récupérer qu'un seul champ d'une ligne en particulier du peux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gridview.Rows[numéroDeLigne].Cells[numéroDeCollonne].Value

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Par défaut
    merci pour vos réponse :

    tout d'abrod j'ai mis la propriete visible de la colonne à false.
    ensuite j'aimerai pouvoir accéder à la colonne en spécifiant le nom de la colonne "nom". Je cherche à récuperer un ID d'un contact.
    De plus je crois que lorsque la propriete visible de la colonne est a false, on ne peut pas y acceder comme cela : gridview.Rows[numéroDeLigne].Cells[numéroDeCollonne]

    je pense que je vais prendre la solution de aspro avec la datatable qui est un peu lourde mais qui va marché...

    Je vous remercie encore pour vos réponse et si quelqu'un a la solution rapide qui permet d'arriver à la valeur de la cellule directement par le nom de la colonne je suis prenneur

    Bonne continuation a vous.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 207
    Par défaut
    Malheureusement il n'est pas possible d'accéder a une colonne "BoundField" qui a la propriété visible à false. C'est un bug avec le gridview; j'ai eu le même problème dernièrement. La seule manière de je pourrais dire passer par dessus le problème est d'utiliser un item template.

    du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Eval("MonChamp") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
    par la suite il faut utilsier un GridViewRow et faire un find control sur ton label en question. Même si ton templatefield est visible à false tu vas être capable d'aller récupérer ta valeur quand même.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    GridViewRow row = GridView.Rows[noLigne];
    Label MonLabel = (Label)row.FindControl("Label1")
    Bonne journée!

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Par défaut
    yes merci pour ta reponse car elle m'as mis sur la piste du template fields voila ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <asp:TemplateField HeaderText="effacer" ShowHeader="False">
                        <ItemTemplate>
                            <asp:Button ID="efface" runat="server" CausesValidation="false" CommandName="effaceContact" CommandArgument='<% #Eval("ID_CONTACT") %>'
                                Text="effacer" />
                        </ItemTemplate>
                    </asp:TemplateField>
    pour ce qui est du code de présentation
    est pour le code behind
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    rotected void GridListeContact_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "effaceContact")
            {
               int idContact = Convert.ToInt32(e.CommandArgument);
     
                string[] champ =  {"deleted"};
                string[] valeur = {"1"};
                db.update("contact_fournisseur", champ, valeur, "id_contact = " + idContact);
                Response.Redirect("ListeFournisseur.aspx");
            }
        }
    voila :d

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

Discussions similaires

  1. Recuperer données à partir d'un SMS / MMS
    Par jimiz dans le forum Java ME
    Réponses: 1
    Dernier message: 23/11/2006, 07h55
  2. pb recuperation données d'union
    Par cyberyan dans le forum SQL
    Réponses: 2
    Dernier message: 28/09/2006, 20h18
  3. [debutant] recuperer donnée html
    Par drKzs dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/06/2006, 20h35
  4. [Tableaux] PB recuperation données type enum/set
    Par Tr@nkill dans le forum Langage
    Réponses: 2
    Dernier message: 05/04/2006, 16h49
  5. Recuperation donnée dans tierce application
    Par petitcoucou31 dans le forum Langage
    Réponses: 3
    Dernier message: 10/02/2006, 12h12

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