[英]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以获得项目计数。
使用SetItemCheckState
和SetItemChecked
方法设置项目的检查状态。 对于要检查的每个其他项目,将调用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.