Csharp:Windowsform using CheckedListBox Datasource

  1         /// <summary>
  2         /// 
  3         /// </summary>
  4         /// <param name="sender"></param>
  5         /// <param name="e"></param>
  6         private void ListboxCheckboxForm_Load(object sender, EventArgs e)
  7         {
  8 
  9             //设置CheckedListBox中第i项的Checked状态
 10             
 11             DataTable dt = new DataTable();
 12             dt.Columns.Add("id", typeof(Guid));
 13             dt.Columns.Add("name", typeof(string));
 14             dt.Rows.Add(Guid.NewGuid(), "geovindu");
 15             dt.Rows.Add(Guid.NewGuid(), "duf");
 16             dt.Rows.Add(Guid.NewGuid(), "涂聚文");
 17             dt.Rows.Add(Guid.NewGuid(), "tujwen");
 18             
 19 
 20             //checkedListBox1.Items.Add("");
 21             //checkedListBox1.Items.Insert(0, "");
 22             checkedListBox1.DataSource = dt;
 23             checkedListBox1.DisplayMember = "name";
 24             checkedListBox1.ValueMember = "id";
 25 
 26             checkedListBox1.SetItemCheckState(1, CheckState.Checked);
 27         }
 28         /// <summary>
 29         /// 獲取選擇的項
 30         /// </summary>
 31         /// <param name="sender"></param>
 32         /// <param name="e"></param>
 33         private void button1_Click(object sender, EventArgs e)
 34         {
 35 
 36 
 37 
 38             //1
 39             string checkedText = string.Empty;
 40             for (int i = 0; i < this.checkedListBox1.CheckedItems.Count; i++)
 41             {
 42                 this.checkedListBox1.SetSelected(i, true);
 43                 checkedText += (String.IsNullOrEmpty(checkedText) ? "" : ",") + this.checkedListBox1.GetItemText(this.checkedListBox1.Items[i]) + "[" +this.checkedListBox1.SelectedValue.ToString()+"]";
 44             }
 45             MessageBox.Show(checkedText);
 46 
 47             //2
 48             for (int i = 0; i < checkedListBox1.Items.Count; i++)
 49             {
 50 
 51                 //如果checkedListBox1的第i项被选中,
 52 
 53                 //则显示checkedListBox1对应的值
 54 
 55                 if (checkedListBox1.GetItemChecked(i))
 56                 {
 57                    // MessageBox.Show(checkedListBox1.GetItemText(checkedListBox1.Items[i]) + "[" + this.checkedListBox1.SelectedValue.ToString()+"]");
 58  
 59                 }
 60 
 61             }
 62 
 63             //3
 64             string strCollected = string.Empty;
 65 
 66             for (int i = 0; i < checkedListBox1.Items.Count; i++)
 67             {
 68 
 69                 if (checkedListBox1.GetItemChecked(i))
 70                 {
 71 
 72                     if (strCollected == string.Empty)
 73                     {
 74 
 75                         strCollected = checkedListBox1.GetItemText(checkedListBox1.Items[i]);
 76 
 77                     }
 78 
 79                     else
 80                     {
 81 
 82                         strCollected = strCollected + "/" + checkedListBox1.GetItemText(checkedListBox1.Items[i]);
 83 
 84                     }
 85 
 86                 }
 87 
 88             }
 89             //MessageBox.Show(strCollected);
 90         }
 91 
 92 
 93         /// <summary>
 94         /// 設定是否全選
 95         /// </summary>
 96         /// <param name="sender"></param>
 97         /// <param name="e"></param>
 98         private void select_all_CheckedChanged(object sender, EventArgs e)
 99         {
100             if (select_all.Checked)
101             {
102                 for (int j = 0; j < checkedListBox1.Items.Count; j++)
103                     checkedListBox1.SetItemChecked(j, true);
104 
105             }
106             else
107             {
108                 for (int j = 0; j < checkedListBox1.Items.Count; j++)
109                     checkedListBox1.SetItemChecked(j, false);
110 
111             }
112         }
113         /// <summary>
114         /// 獲取選擇的項
115         /// </summary>
116         /// <param name="sender"></param>
117         /// <param name="e"></param>
118         private void button2_Click(object sender, EventArgs e)
119         {
120             string checkedText = string.Empty;
121             for (int i = 0; i < this.checkedListBox1.Items.Count; i++)
122             {
123                 if (this.checkedListBox1.GetItemChecked(i))
124                 {
125                     this.checkedListBox1.SetSelected(i, true);
126                     checkedText += (String.IsNullOrEmpty(checkedText) ? "" : ",") +"["+this.checkedListBox1.SelectedValue.ToString()+"]" + this.checkedListBox1.GetItemText(checkedListBox1.Items[i]);
127                 }
128             }
129             MessageBox.Show(checkedText);
130         }
131         /// <summary>
132         /// 設置選擇項
133         /// </summary>
134         /// <param name="sender"></param>
135         /// <param name="e"></param>
136         private void button3_Click(object sender, EventArgs e)
137         {
138 
139 
140             checkedListBox1.DataSource = null;            
141             DataTable dt = new DataTable();
142             dt.Columns.Add("id", typeof(Guid));
143             dt.Columns.Add("name", typeof(string));
144             dt.Columns.Add("check", typeof(bool));
145 
146             dt.Rows.Add(Guid.NewGuid(), "geovindu",false);
147             dt.Rows.Add(Guid.NewGuid(), "duf",true);
148             dt.Rows.Add(Guid.NewGuid(), "涂聚文",false);
149             dt.Rows.Add(Guid.NewGuid(), "tujwen",true);
150 
151             checkedListBox1.DataSource = dt;
152             checkedListBox1.DisplayMember = "name";
153             checkedListBox1.ValueMember = "id";  
154             //
155             for (int i = 0; i < dt.Rows.Count; i++)
156             {
157 
158                 checkedListBox1.SetItemChecked(i, (bool)dt.Rows[i]["check"]);
159             }
160 
161         }
162     }

 


<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值