private void SetItemChecked(string item)
{
int index = GetItemIndex(item);
if (index < 0) return;
myCheckedListBox.SetItemChecked(index, true);
}
private int GetItemIndex(string item)
{
int index = 0;
foreach (object o in myCheckedListBox.Items)
{
if (item == o.ToString())
{
return index;
}
index++;
}
return -1;
}
DataTable dtTable = ...
DataRow[] drMatchingItems = dtTable.Select("label = 'plop' OR label like '%ploup%'"); // I assumed there is a "label" column in your table
int itemPos = drMatchingItems[0][id]; // take first item, TODO: do some checking of the length/matching rows
3条答案
按热度按时间ivqmmu1c1#
您可以实现自己的
SetItemChecked(string item);
checkListBox使用
object.ToString()
显示列表中的项。您可以实现一个在所有对象中搜索的方法。ToString()获取项索引。获得项索引后,可以调用SetItemChecked(int, bool);
希望有帮助。
g52tjvyc2#
您可以尝试浏览数据表。您可以对DataTabke.Rows属性执行foreach操作或使用SQL语法,如下所示:
干杯,
f1tvaqid3#
我回答得很晚了,希望能对大家有所帮助。如果你想按名称查找任何项目,我们可以分两步来做。首先按文本获取项目的索引,然后我们可以在索引的帮助下获取实际项目。