繁体   English   中英

在checkListBox中获取值和项目

[英]Getting the value and items in checkListBox

我正在编写一个具有checkListBox的Windows Forms应用程序。 我有一个连接到我的SQL数据库的databinded checkListBox值。 我想编写一个循环来遍历选中项列表并获取其值(而不是索引)。 我想知道有没有办法像comboBox.SelectedValue一样?

foreach(var item in checkListBox.CheckedItems){

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

}

您可以这样尝试:

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

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

foreach(var item in checkListBox.CheckedItems){

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

}

您也可以使用其他方式

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 +")

你可以试试这个

foreach(var item in checkListBox.CheckedItems){

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

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

使用SetItemCheckStateSetItemChecked方法设置项目的检查状态。 对于要检查的每个其他项目,将调用SetItemCheckState来将CheckState设置为Indeterminate,而在另一个项目上调用SetItemChecked来将选中状态设置为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() + "';
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM