odi*_*seh 5 .net checkedlistbox winforms
我需要知道 中每个元素的类型是什么CheckedListBox.Items?是ListViewItem,Object还是什么?
我还想知道如何将 a 绑定DataTable到 aCheckedListBox并在 Windows 窗体中设置每个项目的 ID 和文本?
类型取决于您用于填充选中列表框的对象。您可以DataTable使用以下代码来使用 a:
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";
Run Code Online (Sandbox Code Playgroud)
在这种情况下,由于您将在检查一个或多个项目后使用操作填充已检查的列表框,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"]);
}
Run Code Online (Sandbox Code Playgroud)