1. #1
    Membre habitué
    Inscrit en
    août 2008
    Messages
    1 486
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 1 486
    Points : 175
    Points
    175

    Par défaut récuperer la valeur de propertyname d'un lien hypertexte dans un datagridview

    Bonsoir, j'ai un datagridview et une colonne sous forme de lien ayant comme property le ID d'un client et comme name ML.

    je veux quand je clique sur ce lien dans une ligne il me retourne le ID du client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string vueCode = dgSoumissionnaires.SelectedRows[0].Cells[0].ToString();
    une idée (pas assez de documentation sur l'internet) ?

  2. #2
    Membre expert
    Inscrit en
    avril 2008
    Messages
    1 981
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : avril 2008
    Messages : 1 981
    Points : 3 407
    Points
    3 407

    Par défaut

    bonjour
    Tu dois piocher un peu plus l'API du DGV ...

    Code .cs exemple complet :
    1/class data exemple:
    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
    18
    19
    20
    21
    22
    23
    24
    25
     
     
     
    namespace WinHyperLink
    {
        public  class Person
        {
            public string ID { get; set; }
            public string Name { get; set; }
            public int Age { get; set; }
        }
        public class Persons:List<Person>
        {
            private Random rnd = new Random();
            public Persons()
            {
                for (int i = 1; i < 6; i++)
                {
                    Person p = new Person() { Age = i * 10, Name = "Item" + i.ToString(), ID = "C"+ rnd.Next(2001,9000).ToString() };
                    this.Add(p);
                }
            }
     
        }
    }
    code .cs du Form User :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    namespace WinHyperLink
    {
        enum ColumnName
        {
            ID,
            Name,
            Age
        };
     
        public partial class Form1 : Form
        {
            Persons listPersons = new Persons();
            public Form1()
            {
                InitializeComponent();
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
               this.labelName.Text = "nothing";
               this.labelAge.Text = "nothing";
               this.dgv.DataSource = listPersons;
               AddLinkColumn();
            }
            private void AddLinkColumn()
            {
                DataGridViewLinkColumn links = new DataGridViewLinkColumn();
                links.Name = "HyperLink";
                links.HeaderText = ColumnName.Name.ToString();
                links.DataPropertyName = ColumnName.ID.ToString();
                links.ActiveLinkColor = Color.White;
                links.LinkBehavior = LinkBehavior.SystemDefault;
                links.LinkColor = Color.Blue;
                links.TrackVisitedState = true;
                links.VisitedLinkColor = Color.YellowGreen;
     
                this.dgv.Columns.Add(links);
            }
     
            private void dgv_CellClick(object sender, DataGridViewCellEventArgs e)
            {
     
                if (e.ColumnIndex == this.dgv.Columns["HyperLink"].Index)
                {
                    this.labelName.Text = this.dgv.Rows[e.RowIndex].Cells["Name"].Value.ToString();
                    this.labelAge.Text = this.dgv.Rows[e.RowIndex].Cells["Age"].Value.ToString();
                }
                else
                {
                    this.labelName.Text = "nothing";
                    this.labelAge.Text = "nothing";
     
                }
            }
        }
    }
    bon code....

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/03/2012, 11h27
  2. Réponses: 2
    Dernier message: 19/05/2011, 10h00
  3. Réponses: 5
    Dernier message: 09/05/2011, 13h23
  4. récuperation des valeurs a partir d'un lien
    Par ypoupou dans le forum JSF
    Réponses: 32
    Dernier message: 23/01/2008, 13h00
  5. Réponses: 2
    Dernier message: 09/11/2007, 10h18

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