Csharp:Windowsform using CheckedListBox Datasource

简介: /// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void List
 /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ListboxCheckboxForm_Load(object sender, EventArgs e)
        {

            //设置CheckedListBox中第i项的Checked状态
            
            DataTable dt = new DataTable();
            dt.Columns.Add("id", typeof(Guid));
            dt.Columns.Add("name", typeof(string));
            dt.Rows.Add(Guid.NewGuid(), "geovindu");
            dt.Rows.Add(Guid.NewGuid(), "duf");
            dt.Rows.Add(Guid.NewGuid(), "涂聚文");
            dt.Rows.Add(Guid.NewGuid(), "tujwen");
            

            //checkedListBox1.Items.Add("");
            //checkedListBox1.Items.Insert(0, "");
            checkedListBox1.DataSource = dt;
            checkedListBox1.DisplayMember = "name";
            checkedListBox1.ValueMember = "id";

            checkedListBox1.SetItemCheckState(1, CheckState.Checked);
        }
        /// <summary>
        /// 獲取選擇的項
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {



            //1
            string checkedText = string.Empty;
            for (int i = 0; i < this.checkedListBox1.CheckedItems.Count; i++)
            {
                this.checkedListBox1.SetSelected(i, true);
                checkedText += (String.IsNullOrEmpty(checkedText) ? "" : ",") + this.checkedListBox1.GetItemText(this.checkedListBox1.Items[i]) + "[" +this.checkedListBox1.SelectedValue.ToString()+"]";
            }
            MessageBox.Show(checkedText);

            //2
            for (int i = 0; i < checkedListBox1.Items.Count; i++)
            {

                //如果checkedListBox1的第i项被选中,

                //则显示checkedListBox1对应的值

                if (checkedListBox1.GetItemChecked(i))
                {
                   // MessageBox.Show(checkedListBox1.GetItemText(checkedListBox1.Items[i]) + "[" + this.checkedListBox1.SelectedValue.ToString()+"]");
 
                }

            }

            //3
            string strCollected = string.Empty;

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

                if (checkedListBox1.GetItemChecked(i))
                {

                    if (strCollected == string.Empty)
                    {

                        strCollected = checkedListBox1.GetItemText(checkedListBox1.Items[i]);

                    }

                    else
                    {

                        strCollected = strCollected + "/" + checkedListBox1.GetItemText(checkedListBox1.Items[i]);

                    }

                }

            }
            //MessageBox.Show(strCollected);
        }


        /// <summary>
        /// 設定是否全選
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void select_all_CheckedChanged(object sender, EventArgs e)
        {
            if (select_all.Checked)
            {
                for (int j = 0; j < checkedListBox1.Items.Count; j++)
                    checkedListBox1.SetItemChecked(j, true);

            }
            else
            {
                for (int j = 0; j < checkedListBox1.Items.Count; j++)
                    checkedListBox1.SetItemChecked(j, false);

            }
        }
        /// <summary>
        /// 獲取選擇的項
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            string checkedText = string.Empty;
            for (int i = 0; i < this.checkedListBox1.Items.Count; i++)
            {
                if (this.checkedListBox1.GetItemChecked(i))
                {
                    this.checkedListBox1.SetSelected(i, true);
                    checkedText += (String.IsNullOrEmpty(checkedText) ? "" : ",") +"["+this.checkedListBox1.SelectedValue.ToString()+"]" + this.checkedListBox1.GetItemText(checkedListBox1.Items[i]);
                }
            }
            MessageBox.Show(checkedText);
        }
        /// <summary>
        /// 設置選擇項
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {


            checkedListBox1.DataSource = null;            
            DataTable dt = new DataTable();
            dt.Columns.Add("id", typeof(Guid));
            dt.Columns.Add("name", typeof(string));
            dt.Columns.Add("check", typeof(bool));

            dt.Rows.Add(Guid.NewGuid(), "geovindu",false);
            dt.Rows.Add(Guid.NewGuid(), "duf",true);
            dt.Rows.Add(Guid.NewGuid(), "涂聚文",false);
            dt.Rows.Add(Guid.NewGuid(), "tujwen",true);

            checkedListBox1.DataSource = dt;
            checkedListBox1.DisplayMember = "name";
            checkedListBox1.ValueMember = "id";  
            //
            for (int i = 0; i < dt.Rows.Count; i++)
            {

                checkedListBox1.SetItemChecked(i, (bool)dt.Rows[i]["check"]);
            }

        }

目录
相关文章
|
存储 SQL 关系型数据库
TiDB亿级数据亚秒响应查询整体架构
TiDB亿级数据亚秒响应查询整体架构
1211 0
【最佳实践】如何用宜搭做商品进销存
宜搭支持通过直接配置实现进销存场景。支持的常用进销存场景有: 图书管理系统、会议室预定系统、积分管理系统等。现在,就以商品进销存为例,示意操作过程。
【最佳实践】如何用宜搭做商品进销存
|
双11
29 岁成为阿里巴巴P8,工作前5年完成晋升3连跳,他如何做到?
泡泡是我的好朋友。今年31岁,毕业后就进了阿里巴巴,工作五年内从P4晋升至 P6、P7、P8。
5423 0
|
存储 监控 安全
解释网络切片:安全挑战与解决方案
解释网络切片:安全挑战与解决方案
368 4
|
12月前
|
安全 区块链 数据安全/隐私保护
介绍一下PoW机制的优缺点
介绍一下PoW机制的优缺点
|
弹性计算 固态存储 数据可视化
2023年最新阿里云服务器价格表(实例配置价格+磁盘价格+网络宽带价格)
2023年阿里云服务器租用费用,轻量应用服务器和云服务器ECS优惠价格表,阿里云轻量应用服务器2核2G3M带宽轻量服务器一年108元,2核4G4M带宽轻量服务器一年297.98元12个月,云服务器ECS包括通用算力型u1、ECS计算型c7、通用型g7和内存型r7均有活动
873 0
|
监控 数据可视化 Go
不得不学!从零到一搭建ELK日志,在Docker环境下部署 Filebeat 日志收集工具
最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。
|
JSON 前端开发 JavaScript
SKU商品信息录入思路以及代码具体实现 - Springboot+AngularJS
SKU=Stock Keeping Unit(库存量单位),即库存进出计量的单位,可以是以件,盒,托盘等为单位。SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法。当下已经被我们引申为产品统一编号的简称,每种产品均对应有唯一的SKU号。
597 0
SKU商品信息录入思路以及代码具体实现 - Springboot+AngularJS
|
Web App开发
Postman下载与安装操作步骤
Postman下载与安装操作步骤
Postman下载与安装操作步骤

热门文章

最新文章