2010-06-03 1 views
0

Предположим, у меня есть ListBox под названием animalList. Как DataSource я использую следующий класс:Как добавить следующий столбец в ListBox при использовании DataSource?

class Animal 
{ 
    private int id; 
    private string name; 
    private string description; 

    public Animal(int id, string name, string description) 
    { 
     // implementation 
    } 

    public int Id 
    { 
     // implementation 
    } 

    public string Name 
    { 
     // implementation 
    } 

    public string Description 
    { 
     // implementation 
    } 
} 

Я хотел бы иметь 2 колонки в ListBox: Название и описание. Можно ли это сделать? мне удалось добавить один столбец, как это:

List<Animal> animals = // LINQ sucking data from XML 

animalList.MultiColumn = true; 
animalList.DataSource = animals; 
animalList.DisplayMember = "Name"; 
animalList.ValueMember = "Id"; 

, но я не могу понять, как на самом деле реализовать следующий столбец.

ответ

1

Имя свойства MultiColumn может немного вводить в заблуждение. Элемент управления ListBox не поддерживает тип столбцов, которые вы ищете.

На самом деле, что делает MultiColumn, это «переполнение» элементов в новый столбец вместо того, чтобы показывать вертикальную полосу прокрутки.

http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.multicolumn.aspx

+0

Ненавижу себя сейчас. Спасибо за разъяснения. –

+0

Нет проблем. Вероятно, его можно было бы назвать немного менее двусмысленно. –

Смежные вопросы