【问题标题】: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);
    }
    

    这是来自我的一个项目。相应地改变。

    【讨论】:

    • 这完全不符合我的要求
    • 请添加您尝试过的代码,这有助于更好地理解。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多