Какой тип каждого элемента в CheckedListBox.Items? - PullRequest
4 голосов
/ 05 февраля 2011

Мне нужно знать, каков тип каждого элемента в CheckedListBox.Items? Это ListViewItem, Object или как?

Я также хочу знать, как я могу связать DataTable с CheckedListBox и установить идентификатор каждого элемента и текст в окнах?

1 Ответ

4 голосов
/ 05 февраля 2011

Тип зависит от объектов, которые вы используете для заполнения отмеченного списка. Вы можете использовать DataTable, используя следующий код:

var table = new DataTable();

table.Columns.Add("ID");
table.Columns.Add("NAME");

table.Rows.Add("1", "John Doe");
table.Rows.Add("2", "Jane Doe");

this.checkedListBox1.DataSource = table;
this.checkedListBox1.ValueMember = "ID";
this.checkedListBox1.DisplayMember = "NAME";

В этом случае, так как вы будете заполнять отмеченный список с помощью DataTable, делая this.checkedListBox1.CheckedItems, после проверки одного или нескольких элементов выведите ObjectCollection, где каждый элемент в коллекции является экземпляром DataRowView.

Для получения отмеченных предметов вы можете сделать:

var checkedIds = new List<string>();

foreach (var item in this.checkedListBox1.CheckedItems)
{
    var dataRowView = (DataRowView)item;

    checkedIds.Add((string)dataRowView["ID"]);
}

На заметку о том, что вы действительно должны улучшить свой коэффициент приема.

...