转载的 CheckedListBox数据绑定
怪异的CheckedListBox数据绑定
摘要: 今天用到了CheckedListBox,就见到总结一下常用的知识。1、添加项:Items.AddcheckedListBox1.Items.Add("June");checkedListBox1.Items.Add("Jun");2、判断第i项是否选中GetItemChecked(index)chec ...
今天用到了CheckedListBox,就见到总结一下常用的知识。 1、添加项:Items.Add checkedListBox1.Items.Add("June"); 2、判断第i项是否选中GetItemChecked(index) checkedListBox1.GetItemChecked(i) 3、设置第i项是否选中SetItemChecked(index,bool)或者SetItemCheckState(index,CheckState) checkedListBox1.SetItemChecked(index, true); 4、设置全选 for (int i = 0; i < listBoxLED.Items.Count; i++) 5、数据绑定 CheckedListBox应该是由ListBox扩展而来的,但在使用的时候,可能会发现——它不支持DataSource属性,不能像ListBox那样指定其数据源为一个DataTable。 事实上,CheckedListBox像ListBox一样有DataSource属性,DisplayMember和ValueMemeber属性也都是有的,只是IntelliSense不能将其智能感知出来。 因此,我们可以通过代码将CheckedListBox绑定。 DataSet ds=bll.GetAllStudent(); 6、如何获取checkedListBox1选中项的DisplayMember和ValueMember 方法1: for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++) 方法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选中项的索引
|