maanantai 6. huhtikuuta 2009

Lisää custom dataa .NET ListViewItem olioon.

Usein tulee vastaan tilanne, että ListViewItem tai TreeViewItem pitäisi sisältää dataa, joka ei näy itse komponentissa esim. jokin tunnisteguid.

Oman tiedon kirjoittaminen ListViewItemiin ei ole lainkaan vaikeaa. Näin se käy.

Luodaan luokka, joka perii ListViewItem luokan.

public class MyListViewItem : ListViewItem
{
private Guid m_guid;

public MyListViewItem()
{
}

public Guid Guid
{
set
{
m_guid = value;
}

get
{
return m_guid;
}
}
}

Ja nyt voit käyttää luokkaasi ihan normaalisti.

MyListViewItem mlvi = MyListViewItem();
mlvi.Text = "TEST TEXT";
mlvi.Guid = Guid.NewGuid();

this.listView1.Items.Add( mlvi );

Ja kun nyt haluat päästä käsiksi omaan dataasi.

MyListViewItem mlvi = (MyListViewItem)this.listView1.Items[0];
Console.Out.WriteLine( mlvi.Guid.ToString() );

Siinä se. Helppoa, nopeaa ja käytännöllistä.

Ei kommentteja: