本文中我將和你們討論關於在WinForm開發中給CheckedlistBox空間綁定數據源,並獲取控件中選中的全部元素的顯示文本(DisplayMember)和對應的實際值(ValueMember)的問題,後者將是討論的重點。html
爲了更方便地說明,首先我要預設一些條件。post
條件預設:this
一、已定義一個DataTable對象myDataTable,而且myDataTable的字段及數據以下:spa
ID 分類名稱(TypeName) 1 金屬製品 2 通用及專用機械設備 3 紙及紙製品 4 交通運輸設備 5 電氣機械及器材 6 通訊設備 7 計算機及其餘 8 電子設備 9 儀器儀表及文化 10 辦公用機械 二、WinForm狀體中有一個CheckedlistBox控件,ID爲:myCheckedlistBox;一個文本控件,ID爲:DisplayText;兩個按鈕:獲取已選的文本(ID:GetText),獲取已選的實際值(ID:GetValue)。以下:.net
具體實現:orm
一、給CheckedlistBox控件myCheckedlistBox綁定數據源,這個方法很簡單,固定程式,網上一搜一大把,就直接上代碼了htm
- this.myCheckedlistBox.DataSource = myDataTable;
- this.myCheckedlistBox.ValueMember = "ID";
- this.myCheckedlistBox.DisplayMember = "TypeName";
二、獲取CheckedlistBox控件myCheckedlistBox中已選中的全部元素的顯示文本(DisplayMember)。對象
- /// <summary>
- /// 按鈕(GetText)單擊事件:獲取獲取已選的文本
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void GetText_Click(object sender, EventArgs e)
- {
- string checkedText = string.Empty;
- for (int i = 0; i < this.myCheckedlistBox.CheckedItems.Count; i++)
- {
- checkedText += (String.IsNullOrEmpty(checkedText) ? "" : ",") + this.myCheckedlistBox.GetItemText(this.myCheckedlistBox.Items[i]);
- }
- this.DisplayText.Text = checkedText;
- }
三、獲取CheckedlistBox控件myCheckedlistBox中已選中的全部元素對應的實際值(ValueMember)。blog
- /// <summary>
- /// 按鈕(GetValue)單擊事件:獲取已選的實際值
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void GetValue_Click(object sender, EventArgs e)
- {
- string checkedText = string.Empty;
- for (int i = 0; i < this.myCheckedlistBox.Items.Count; i++)
- {
- if (this.myCheckedlistBox.GetItemChecked(i))
- {
- this.myCheckedlistBox.SetSelected(i, true);
- checkedText += (String.IsNullOrEmpty(checkedText) ? "" : ",") + this.myCheckedlistBox.SelectedValue.ToString();
- }
- }
- this.DisplayText.Text = checkedText;
- }
本文做者:宜城小子 發於:http://blog.yotuo.net(轉載請保留此信息)
首發地址:http://blog.yotuo.net/post/2010/04/Get_CheckedlistBox_ValueMember_DisplayMember.html事件