zoukankan      html  css  js  c++  java
  • 怪异的CheckedListBox数据绑定

    今天用到了CheckedListBox,就见到总结一下常用的知识。

    1、添加项:Items.Add

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

    2、判断第i项是否选中GetItemChecked(index)

    checkedListBox1.GetItemChecked(i)

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

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

    4、设置全选

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

    5、数据绑定

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

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

    因此,我们可以通过代码将CheckedListBox绑定。

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

    6、如何获取checkedListBox1选中项的DisplayMember和ValueMember

    方法1:

    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选中项的索引

    如果大家觉得CheckedListBox哪些知识点比较常用,欢迎补充。

  • 相关阅读:
    win10设置删除文件提示框
    在XP系统下如何访问win10共享的打印机
    禁止删除、修改共享文件,防止局域网用户私自复制共享文件到本地的方法
    打开wps的宏设置,提示你可能没有装vba
    网络打印协议之LPR或RAW
    LPD打印机服务是什么意思
    存储备份
    EasyUI的DataGrid 打印导出
    jquery easyui datagrid使用参考
    easyUI单元格合并自定义封装
  • 原文地址:https://www.cnblogs.com/JuneZhang/p/2287973.html
Copyright © 2011-2022 走看看