ListBox를 확장하여 CustomListBox를 작성했습니다.ValueMember로 ListBox 바인딩하기
데이터 원본으로 classobject 배열을 받아들이고 Classobject 배열을 읽음으로써 표시하도록 OnDrawItem()을 재정의합니다.
여기까지 모든 것이 잘 작동합니다. 문제는 목록 상자의 ValueMember를 할당 할 수 없기 때문에 ValueItem을 읽을 수 없다는 것입니다. 나는 값 회원
의사 코드로 내 classObject의 재산 중 하나를 추가 할 :
public class myModel
{
int id;
string name;
XXXXXXXXX
XXXXXXXXX
}
myModel[] ds = getData();
//myCustomListbox.ValueMember = "id"; //this doesnt seem to work
myCustomListbox.DataSource =ds;
내가 반복합니다의 OnDrawItem()가 필요한 디스플레이 값을 그릴 것입니다. 값 항목을 추가하기 위해 내가 재정의 할 수있는 방법이 있습니까?
예 getter 및 setter가 있지만 여전히 작동하지 않습니다. – Robert
@ 램은 귀하의 재산을 공개로 표시합니까? 또한 당신은 가치 회원을 읽는 방법을 보여줄 수 있습니까? –
예 그들은 모두 public이고 값은 항상 비어 있습니다 (항목을 클릭 한 후). SelectedIndexChanged 이벤트 내에서 'string a = myCustomListBox.ValueMember' – Robert