获取checkListBox中的值和项

时间:2015-09-30 09:46:48

标签: c#

我正在编写一个包含checkListBox的Windows窗体应用程序。我有一个连接到我的sql db的数据绑定的checkListBox值。我想编写一个循环来遍历已检查项目列表并获取其值(而不是索引)。我想知道有没有办法像comboBox.SelectedValue那样做?

foreach(var item in checkListBox.CheckedItems){

    //get the value of that 
    string query = select * from employeeId where '"+checkListBox.SelectedValue+"'

}

5 个答案:

答案 0 :(得分:1)

您可以尝试这样:

foreach(object item in checkListBox.CheckedItems)
{
     DataRowView dt = item as DataRowView;
     string str = dt["nameHere"];
     // some code
}

答案 1 :(得分:0)

您应该将项目转换为相关类型(DataRowView?)

foreach(var item in checkListBox.CheckedItems){

    var val = item as DataRowView; 
    // retrieving the relevant values

}

答案 2 :(得分:0)

你也可以采取其他方式

List<object> _checkedItems = checkedListBox1.CheckedItems.OfType<object>().ToList();

这将为您提供所有选中的项目。如果你想将它传递给sql查询,那么你可以做类似的事情

string delimeter = "','";
string _selectedItems ="'"+ _checkedItems.Aggregate((i, j) => i + delimeter + j).ToString()+"'";

并在您的SQL查询中传递它

   string query = select * from employeeId where somevalue in ("+_selectedItems +")

答案 3 :(得分:0)

你可以试试这个

foreach(var item in checkListBox.CheckedItems){

     var value = (item as ListItem).Value;
}

答案 4 :(得分:0)

CheckedListBox中的项目并检查列表中的所有其他项目。使用Items属性获取CheckedListBox.ObjectCollection以获取项目数。

使用SetItemCheckStateSetItemChecked方法设置项目的检查状态。对于要检查的每个其他项,调用SetItemCheckState将CheckState设置为Indeterminate,而在另一项上调用SetItemChecked以将checked状态设置为Checked。

//checkedListBox1.SetItemChecked(a,true);

for ( int i = 0; i < checkedListBox1.Items.Count; i++ )
{
    if(checkedListBox1.GetItemCheckState(i) == CheckState.Checked)
    {
        string query = select * from employeeId where '" + checkedListBox1.Items[i].ToString() + "';
    }

}