CheckedListBox数据绑定及取值技巧

一、添加项:Items.Addcode

checkedListBox1.Items.Add("June");
checkedListBox1.Items.Add("Jun");

二、判断第i项是否选中:GetItemChecked(index)索引

checkedListBox1.GetItemChecked(i)

三、设置第i项是否选中:SetItemChecked(index,bool)或者SetItemCheckState(index,CheckState)string

checkedListBox1.SetItemChecked(index, true);
checkedListBox1.SetItemCheckState(index, CheckState.Unchecked);

四、设置全选扩展

for (int i = 0; i < listBoxLED.Items.Count; i++)
{
	checkedListBox1.SetItemCheckState(i, CheckState.Checked);
	//checkedListBox1.SetItemChecked(i, true);
}

五、数据绑定List

CheckedListBox应该是由ListBox扩展而来的,但在使用的时候,可能会发现——它不支持DataSource属性,不能像ListBox那样指定其数据源为一个DataTable。技巧

事实上,CheckedListBox像ListBox同样有DataSource属性,DisplayMember和ValueMemeber属性也都是有的,只是IntelliSense不能将其智能感知出来。方法

所以,咱们能够经过代码将CheckedListBox绑定。ember

DataSet ds=bll.GetAllStudent();
checkedListBox1.DataSource = ds.Table[0];
checkedListBox1.ValueMember = "student_id";
checkedListBox1.DisplayMember = "student_name";

六、如何获取 checkedListBox1 选中项的 DisplayMember 和 ValueMember数据

方法1:co

for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++)
{
	DataRowView dv = ((DataRowView)checkedListBox1.CheckedItems[i]);
	string id = dv["student_id"].ToString();
	string name = dv["student_name"].ToString();
}

方法2:

获取Text:获取Text仍是很简单,就在 CheckedListBox 上获取就行.获取选中选中项的 Text

string name = checkedListBox1.GetItemText(checkedListBox1.Items[i]);

获取Value的值:这里就用了一个技巧,就是经过绑定到CheckedListBox的DataSet来获取。(在网上看到说是由于在CheckedListBox中获取到的索引Index是与DataSet中相应的值是同样的。知道缘由的帮忙解释一下)

string name = ds.Tables[0].Rows[i]["student_name"].ToString();//此处i为CheckedListBox选中项的索引

7: 点击复选框选中

CheckOnClick = true

若是你们以为CheckedListBox哪些知识点比较经常使用,欢迎补充。

相关文章
相关标签/搜索