最近在做项目的时候遇到个问题。用checkedlistbox控件绑定数据。在这里稍微总结一下。
其实动态绑定数据有两种方法下面说一下
1.通过数据源
DataTable dt=new DataTable();//数据源 CheckedListBoxControl yourControl=new CheckedListBoxControl(); yourControl.DisplayMember="显示的中文名称"; yourControl.ValueMember="绑定对应值";//这里经常绑定id之类的方便 做以后的处理 yourControl.DataSource=dt;
当然这里对DisplayMember和ValueMember的赋值得和你的数据源中的对应列名是一致的。
2.手动一条一条插入数据
当手动插入数据的时候又想能实现第一种那样能绑定类似value的东西,这时候需要做一下处理。
public class TestClass { String strvalue; String text; public String Text { get { return text; } set { text = value; } } public String Value { get { return strvalue; } set { strvalue= value; } } } //这里testcalss也可以多加一些属性用来更方便处理 自己项目相关的东西。 TestClass t=new TestClass(); CheckedListBoxControl yourControl=new CheckedListBoxControl(); yourControl.Items.Add(t,t.Text,CheckState.Unchecked,true);//可以用循环加入多条 //通过上面的方法就可以添加数据了。下面说一下怎么遍历 for (int i = 0; i < cklb.CheckedItems.Count; i++) { TestClass t= (TestClass)yourControl.CheckedItems[i]; t.text; t.value; }
通过类型转换,这样就能访问到对应的属性了。
有问题请多多提,不喜勿喷。