如何获取CheckedListBox勾选项的ValueMembers?
How to get ValueMembers of CheckedListBox Checked Items?
我有一个名为 CheckedListBox
的项目列表。而它的DataSource
是一个数据table。我已将 DisplayMember
设置为 "Name",将 ValueMember
设置为 "NameInt"。有没有一种可靠的方法可以循环遍历此 CheckedListBox
并获取已检查项目的 ValueMember
?
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);
}
这是我的一个项目。相应更改。
假设 public 属性 持有你的 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"));
}
注意:我是将值添加到列表中作为示例,但这应该能给您大致的想法..
我有一个名为 CheckedListBox
的项目列表。而它的DataSource
是一个数据table。我已将 DisplayMember
设置为 "Name",将 ValueMember
设置为 "NameInt"。有没有一种可靠的方法可以循环遍历此 CheckedListBox
并获取已检查项目的 ValueMember
?
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);
}
这是我的一个项目。相应更改。
假设 public 属性 持有你的 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"));
}
注意:我是将值添加到列表中作为示例,但这应该能给您大致的想法..