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

    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 966
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : avril 2008
    Messages : 1 966
    Points : 3 378
    Points
    3 378

    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, 12h27
  2. Réponses: 2
    Dernier message: 19/05/2011, 11h00
  3. Réponses: 5
    Dernier message: 09/05/2011, 14h23
  4. récuperation des valeurs a partir d'un lien
    Par ypoupou dans le forum JSF
    Réponses: 32
    Dernier message: 23/01/2008, 14h00
  5. Réponses: 2
    Dernier message: 09/11/2007, 11h18

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