Key pour listView [Résolu]

Signaler
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
Bonjour,

J'aimerai utiliser des noms de colonnes explicite dans mon listView. j'ai donc ajouté des colonnes comme ceci :

lvMessage.Columns.Add("PK", "PK", 50, HorizontalAlignment.Left, null);
lvMessage.Columns.Add("SENS", "Sens", 30, HorizontalAlignment.Center, null);
lvMessage.Columns.Add("ETAT", "Etat", 100, HorizontalAlignment.Left, null);

or quand je clique sur la listeView je n'arrive pas à récupérer le contenu de la colonne à partir de sa key :

privatevoid lvMessage_SelectedIndexChanged(object sender, EventArgs e)
{
   if (this.lvMessage.SelectedItems.Count > 0)
   {
      ListView.SelectedListViewItemCollection lvi = lvMessage.SelectedItems;
      rtbMessage.Text = lvi[0].SubItems["SENS"].Text;  // M A R C H E    P A S   !!!
      rtbMessage.Text = lvi[0].SubItems[2].Text;           // M A R C H E  
   }
   else
      rtbMessage.Text = "";
}Quelqu'un peut il m'éclairer ?

Merci

DT

2 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
Salut, la clé des colonnes c'est pas la même chose que la cé des sous-éléments.

lvMessage = new ListView( );
ListViewItem item = new ListViewItem( "item0Text" );
item.Name = "item0Key";
item.SubItems.Add( "subitem0Text" ); // Text
// 1 et pas 0 car 1 est égal à l'item de niveau supérieur.
item.SubItems[ 1 ].Name = "subitem0Key";
lvMessage.Items.Add( item );


lvMessage.Columns.Add( "Column0Key", "column0Text" );
lvMessage.Columns.Add( "Column1Key", "column1Text" );


lvMessage.Dock = DockStyle.Fill;
lvMessage.View = View.Details;
this.Controls.Add( lvMessage );
this.Show( );


// Obtenir le text du subitem0 et de l'item0
MessageBox.Show( lvMessage.Items[ "item0Key" ].SubItems[ "subitem0Key" ].Text );
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015

Merci pour l'explication, Si j'ai bien compris, chaque subitem aura sa propre clé. Ce qui ne m'arrange pas... En fait mon but était d'acceder à tous les subitem d'un ListView.SelectedListViewItemCollection par un clé explicite => ce qui ne semble pas être possible... Il ne me reste plus qu'à créer une énumération...

Merci

DT