Как представить значения в objectListView? - PullRequest
0 голосов
/ 14 марта 2012

Я использую компонент objectListView от BrightIdeasSoftware и хочу представить созданный мной список. Итак, у меня есть две колонки: название, художник. Далее я написал песню класса:

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);

Но ... проблема в том, что список представлен мне как пустой список! (Я имею в виду, строка не пишется во время выполнения ...)

Может кто-нибудь помочь мне понять, почему ...?

Ответы [ 2 ]

0 голосов
/ 12 мая 2014

С ObjectListView от BrightIdeasSoftware вы можете предоставить делегат для каждого столбца, который будет обрабатывать то, что отображается.

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);
0 голосов
/ 15 марта 2012

Что помогло, так это ввести имя поля, которое я хотел представить в свойстве AspectName. Я имею в виду «Название» / «Исполнитель». Поскольку они содержат строковые значения, мне не нужно было вводить значение «AspectToStringFormat».

...