• 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     }

     示例:

                    //checkedListBox 綁定數據
                    chklistClerkRelationTypeID.DataSource = rebll.SelectDataTableAll();
                    chklistClerkRelationTypeID.DisplayMember = "RelationName";
                    chklistClerkRelationTypeID.ValueMember = "RelationId";
    
                    if (choose == ChooseOperation.OperationName.Edit)
                    {
    
                        this.txtClerkRelationDesc.Text = ClerkRelationshipStaticInfo.ClerkRelationDesc;
                        this.txtClerkRelationName.Text = ClerkRelationshipStaticInfo.ClerkRelationName;
                        this.txtClerkRelationTel.Text = ClerkRelationshipStaticInfo.ClerkRelationTel;
                        this.dateClerkBirthday.Value = ClerkRelationshipStaticInfo.ClerkBirthday;
    
                        //已先擇的項目 塗聚文(Geovin Du)
                        string strcheck = ClerkRelationshipStaticInfo.ClerkRelationTypeID; // 1,3
                        for (int j = 0; j < chklistClerkRelationTypeID.Items.Count; j++)
                        {
                            DataRowView dv = ((DataRowView)chklistClerkRelationTypeID.Items[j]);
                               string id=dv["RelationId"].ToString();
                               if (Geovin.Du.Common.StringConvert.getSearch(id,strcheck))
                                   chklistClerkRelationTypeID.SetItemChecked(j, true);//true改为false为没有选中。
                        }   
    

      

    哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)成功.---Geovin Du(涂聚文)
  • 相关阅读:
    LAMP课程(3)
    LAMP课程
    vim文本编辑
    mysql常用语句
    mysql双机互相备份
    Java NIO
    适配器模式
    对象的序列化与反序列化
    字符流
    Java Socket
  • 原文地址:https://www.cnblogs.com/geovindu/p/3119262.html
Copyright © 2020-2023  润新知