如何根据键值设置在选中列表框中选中的项目?
How to set Item checked in a checkedlistbox based on Key value?
我已将 checkedListbox 的值与 Id 和 Values 绑定在一起,当检查项目时,我将 Id 保存在数据库中,当加载表单时,我希望根据 Id 检查 checkedListbox 项目
我只能根据索引绑定检查列表框,如下所示,我看到的另一种选择是获取值的索引并检查它,但这在我的情况下不起作用,因为我只有 ID 的需要检查的checkedlistbox项。
int index = checkedListBox1.Items.IndexOf("42");
checkedListBox1.SetItemChecked(index , true);
这就是我绑定值的方式
ccBoxitem item = new ccBoxitem(a.name, a.id);
checkedListBox1.items.add(item);
public ccBoxitem (string name, int val)
{
this.name = name;
this.val = val;
}
如何根据 ID 检查 checkedlistbox
?
例如,您可以循环浏览您的项目,然后检查您想要的项目:
private void CheckItem(int id)
{
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if ((checkedListBox1.Items[i] as ccBoxitem)?.val == id)
{
checkedListBox1.SetItemChecked(i, true);
}
}
}
用法:
var id = GetId();
CheckItem(id);
您可以使用下面的方法,它将 select 需要的项目首先按其值检查 selected 项目
void CheckItem(CheckedListBox checkedListBox, int id)
{
checkedListBox.SelectedItem = checkedListBox.Items.OfType<ccBoxitem>().ToList().FirstOrDefault(i => i.val == id);
checkedListBox.SetItemChecked(checkedListBox.SelectedIndex, true);
checkedListBox.SelectedItem = null; // To clear selection if needed
}
你可以这样称呼它
CheckItem(checkedListBox1, 3);
CheckItem(checkedListBox1, 6);
我已将 checkedListbox 的值与 Id 和 Values 绑定在一起,当检查项目时,我将 Id 保存在数据库中,当加载表单时,我希望根据 Id 检查 checkedListbox 项目
我只能根据索引绑定检查列表框,如下所示,我看到的另一种选择是获取值的索引并检查它,但这在我的情况下不起作用,因为我只有 ID 的需要检查的checkedlistbox项。
int index = checkedListBox1.Items.IndexOf("42");
checkedListBox1.SetItemChecked(index , true);
这就是我绑定值的方式
ccBoxitem item = new ccBoxitem(a.name, a.id);
checkedListBox1.items.add(item);
public ccBoxitem (string name, int val)
{
this.name = name;
this.val = val;
}
如何根据 ID 检查 checkedlistbox
?
例如,您可以循环浏览您的项目,然后检查您想要的项目:
private void CheckItem(int id)
{
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if ((checkedListBox1.Items[i] as ccBoxitem)?.val == id)
{
checkedListBox1.SetItemChecked(i, true);
}
}
}
用法:
var id = GetId();
CheckItem(id);
您可以使用下面的方法,它将 select 需要的项目首先按其值检查 selected 项目
void CheckItem(CheckedListBox checkedListBox, int id)
{
checkedListBox.SelectedItem = checkedListBox.Items.OfType<ccBoxitem>().ToList().FirstOrDefault(i => i.val == id);
checkedListBox.SetItemChecked(checkedListBox.SelectedIndex, true);
checkedListBox.SelectedItem = null; // To clear selection if needed
}
你可以这样称呼它
CheckItem(checkedListBox1, 3);
CheckItem(checkedListBox1, 6);