Key pour listView

Résolu
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 25 oct. 2006 à 18:23
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 26 oct. 2006 à 10:44
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

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
25 oct. 2006 à 20:32
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 );
3
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
26 oct. 2006 à 10:44
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
0
Rejoignez-nous