zoukankan      html  css  js  c++  java
  • 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(涂聚文)
  • 相关阅读:
    最大子数组求和并进行条件组合覆盖测试
    Ubuntu 16.04 c++ Google框架单元测试
    The directory '/home/stone/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If execu
    Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'
    个人博客作业三:微软小娜APP的案例分析
    补交 作业一
    补交 作业二:个人博客作业内容:需求分析
    嵌入式软件设计第12次实验报告
    嵌入式软件设计第11次实验报告
    嵌入式软件设计第10次实验报告
  • 原文地址:https://www.cnblogs.com/geovindu/p/3119262.html
Copyright © 2011-2022 走看看