如何在objectListView上显示值

本文关键字:显示 objectListView | 更新日期: 2023-09-27 18:27:59

我正在使用BrightIdeasSoftware的objectListView组件,我想展示我创建的列表。所以我有两栏:标题,艺术家。接下来,我写了一个歌曲课:

class Song
{
    public Song()
    {
    }
    public Song(string title, string artist)
    {
        this.Title = title;
        this.Artist = artist;
    }
    public string Title
    {
        get { return title; }
        set { title = value; }
    }
    private string title;
    public string Artist
    {
        get { return artist; }
        set { artist = value; }
    }
    private string artist;
}

并创建了一个列表:

        List<Song> songs = new List<Song>();
        Song example = new Song("My Immortal", "Evanescence");
        songs.Add(example);

最后,我调用了SetObjects:

        objectListView1.SetObjects(songs);

但是。。。问题是,这个列表是作为一个空列表呈现给我的!(我的意思是,运行时没有写入字符串…)

有人能帮我弄清楚为什么…吗。。。?

如何在objectListView上显示值

帮助的是在AspectName属性中输入要显示的字段的名称。我的意思是,"头衔"/"艺术家"。因为它们包含字符串值,所以我不必输入"AspectToStringFormat"值。

使用BrightIdeasSoftware的ObjectListView,您可以为每个列提供一个委托,以处理显示的内容。

fx.:

var clmTitle = new OLVColumn();
clmTitle.AspectGetter = obj => (obj as Song).Title;

var clmArtist = new OLVColumn();
clmArtist.AspectGetter = obj => (obj as Song).Artist;
objectListView1.Columns.AddRange(new OlVColumn[]{clmTitle,clmArtist});
objectListView1.SetObjects(songs);