winform c# 中获取CheckListBox 值

来源:互联网 发布:北航软件学院 院长 编辑:程序博客网 时间:2024/06/04 18:34

这个问题网上有很多例子,不过大多数都是扯犊子...根本实现不了.还有的能实现 但是要有一个公用变量的DataSet耗费资源.研究了一下发现 CheckListBox  ITEM其实是一个DataRowView......里面包含了数据源的所有信息...对没有搞错 是所有信息.滴入你的数据源包含了 ID,Name,DESC,但绑定的时候至绑定ID 和 Name 但是 用ITEM转换成DataRowView时候 你可以找到这个DR["DESC"]的数据...这样就解决了取值问题.......

 

例子:一个 CheckListBox   CHK_LST_BOX 数据源DataSet ds 包含 Id,Name,Desc

 

绑定:

 

CHK_LST_BOX .DataSource = ds.Tables[0];

CHK_LST_BOX .DisplayMember = "Name";

CHK_LST_BOX .ValueMember = "id";               

CHK_LST_BOX .Refresh();

 

 

获取选定值:

 

DataRowView 

 

 

 

for (int i = 0; i < CHK_LST_BOX .Items.Count; i++)

            {               

                if (CHK_LST_BOX .GetItemChecked(i))

                {

                    DataRowView dv = (DataRowView)CHK_LST_BOX .Items[i];

                    //选中的DESC dv.Row["desc"]

                }

            }

 

原创粉丝点击