【问题标题】:How to get ValueMembers of CheckedListBox Checked Items?如何在 CheckedListBox Checked Items 中获取 ValueMember?
【发布时间】:2015-05-03 05:45:33
【问题描述】:
我有一个名为 Itemlist 的 CheckedListBox。而它的DataSource是一个数据表。我将DisplayMember 设置为“Name”,将ValueMember 设置为“NameInt”。有没有一种可靠的方法可以让我循环遍历这个CheckedListBox 并获取选中项目的ValueMember?
【问题讨论】:
标签:
c#
visual-studio-2010
checkedlistbox
【解决方案1】:
假设一个公共财产持有你的DataTable:
public DataTable Table { get; set; }
注意到CheckedListBox 被命名为Itemlist(以防发生编辑) - 并假设NameInt 属于type int,我们可以遍历检查的项目,获取索引,然后获取关联的ValueMember直接从源头:
List<int> checkedValueMembers = new List();
foreach (int index in Itemlist.CheckedIndices)
{
checkedValueMembers.Add(Table.Rows[index].Field<int>("NameInt"));
}
注意:作为示例,我将值添加到列表中,但这应该可以让您大致了解..
【解决方案2】:
for (int i = 0; i < dataSet.tblResources.Rows.Count; i++)
{
clbResources.Items.Add(new Thing()
{
Key = dataSet.tblResources.Rows[i]["Key"].ToString(),
Value = dataSet.tblResources.Rows[i]["Description"].ToString()
}, isChecked);
}
这是来自我的一个项目。相应地改变。