2012-03-14 6 views
0

BrightIdeasSoftware의 objectListView 구성 요소를 사용하고 있으며 내가 작성한 목록을 제시하고자합니다. 제목, 아티스트라는 두 개의 열이 있습니다. 다음, 나는 노래 클래스 썼다 :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; 
} 

및 목록 생성 : 문제

 objectListView1.SetObjects(songs); 

을하지만 ... : 마지막으로

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

을, 나는 SetObjects에 전화했는데 그 목록이 나에게 빈 목록으로 제시된다는 것입니다! (내 말은, 어떤 문자열도 런타임에 쓰여지지 않는다는 뜻입니다 ...)

누군가가 왜 나를 이해할 수 있습니까?

답변

0

AspectName 속성에 표시하려는 필드의 이름을 입력하면 도움이되었습니다. "제목"/ "아티스트"를 의미합니다. 문자열 값을 보유하고 있기 때문에 "AspectToStringFormat"값을 입력 할 필요가 없었습니다.

0

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); 
관련 문제