1. 程式人生 > >Dev Express的CheckedListBoxControl全選及遍歷方法

Dev Express的CheckedListBoxControl全選及遍歷方法

CheckedListBoxControl實現全選與取消的功能:

//設定全選功能,適合CheckedListBoxControl與CheckedListBox控制元件 
//新增一個名為Select_All的CheckedListBoxControl控制元件,由其控制CheckedListBox是全選還是全不選。

private void Select_All_CheckedChanged(object sender, EventArgs e)
  {
            if (Select_All.Checked)
            {
                for (int j = 0; j < checkedLBC_JobStatus.Items.Count; j++)
                    checkedLBC_JobStatus.SetItemChecked(j, true);
            }
            else
            {
                for (int j = 0; j < checkedLBC_JobStatus.Items.Count; j++)
                    checkedLBC_JobStatus.SetItemChecked(j, false);
            }
}

CheckBoxListControl實現遍歷得到每個選項的值的功能:

對於此功能,今天作了許多嘗試,最後找到了解決方法,關於各種取值的結果嘗試心得,說明如下:

 1.嘗試方法一

strCollected = checkedLBC_JobStatus.GetItemValue(checkedLBC_JobStatus.Items[i]);

此方法適應於WinForm自帶的CheckedListBox控制元件,取的控制元件文字對應的值而不是文字內容,而不適用於DevExpress的CheckedListBoxControl控制元件

2.嘗試方法二

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

此方法適用於WinForm自帶的CheckedListBox控制元件,取的是控制元件文對應的內容,而不適用於DevExpress的CheckedListBoxControl控制元件

3.嘗試方法三

strCollected = checkedLBC_JobStatus.SelectedValue.ToString();

此方法可以取值,但只能取到選中的一項,而不能遍歷所有選中項

以上說明,希望能夠幫助那些苦尋方法的朋友,正確的遍歷方法,程式碼如下,得解請給贊,以慰藉辛苦付出,謝謝!

//遍歷選中的值 ,並將選中的項組合成為一個字串。

 //strCollected = checkedLBC_JobStatus.GetItemText(checkedLBC_JobStatus.Items[i]);

//strCollected = checkedLBC_JobStatus.GetItemValue(checkedLBC_JobStatus.Items[i]);

                    string strCollected = string.Empty;
                    for (int i = 0; i < checkedLBC_JobStatus.Items.Count; i++)
                    {
                        //checkedLBC_JobStatus.SetItemChecked(i, true);

                        if (checkedLBC_JobStatus.GetItemChecked(i))
                        {
                          if (strCollected == string.Empty)
                          {
                              //strCollected = checkedLBC_JobStatus.SelectedValue.ToString();
                              strCollected = this.checkedLBC_JobStatus.GetItemValue(i).ToString();
                          }
                          else
                          {
                              //strCollected = strCollected + "," + checkedLBC_JobStatus.SelectedValue.ToString();
                              strCollected = strCollected + "," + checkedLBC_JobStatus.GetItemValue(i).ToString();
                           }
                         }
                    }

                    string JobStatus = string.Format(" and uvw_ppJobQuery.JobStatusID in {0}", "(" + strCollected.ToString() + ")");