ASP.NET中CheckBoxList複選框清單控制項詳細使用方法_基礎應用

來源:互聯網
上載者:User

可以使用兩種類型的 ASP.NET 控制項將複選框添加到 Web Form頁上:單獨的 CheckBox 控制項或 CheckBoxList 控制項。兩種控制項都為使用者提供了一種輸入布爾型資料(真或假、是或否)的方法。

本文主要介紹CheckBoxList,不言而喻,看到List就知道是一個列表(集合),一個控制項可以包含多個CheckBox,下面讓我們來看看具體的用法。

1.綁定資料

複製代碼 代碼如下:

this.lngCatalogID.DataSource = dt; //這裡我綁到DataTable上了.
this.lngCatalogID.DataTextField = "strCatalogName"; //前台看到的值,也就是CheckBoxList中顯示出來的值
this.lngCatalogID.DataValueField = "lngCatalogID"; //這個值直接在頁面上是看不到的,但在原始碼中可以看到
this.lngCatalogID.DataBind();

2.擷取鉤選的項

複製代碼 代碼如下:

foreach(ListItem li in lngCatalogID.Items)
{
    if(li.Selected)    //表示某一項被選中了
    {  
        //li.Test表示看到的值,對應上面的strCatalogName
        //li.Value表示看到的值對應的值.對應上面的lngCatalogID
    }
}

3.設定某項為鉤選狀態

複製代碼 代碼如下:

foreach(ListItem li in lngCatalogID.Items)
{
    if(li.Value.Equals("鉤選條件"))    //如果li.Value值等於某值,就鉤選
    {
        li.Selected = true;                    //等於true就表示鉤選啦.
        break;
    }
}

4.DataGrid中全選

複製代碼 代碼如下:

foreach(DataGridItem thisItem in DataGridLogininfo.Items)
{
    ((CheckBox)thisItem.Cells[0].Controls[1]).Checked = CheckBox2.Checked;
}

5.反向選擇

複製代碼 代碼如下:

for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
    if (checkedListBox1.GetItemChecked(i))
    {
        checkedListBox1.SetItemChecked(i, false);
    }
    else
    {
        checkedListBox1.SetItemChecked(i, true);
    }
}

CheckBoxList控制項用法範例

範例一、迴圈遍曆每個選項,包含的對應值的設定為選中狀態

複製代碼 代碼如下:

for (int i = 0; i < hfAnswers.Value.Split(',').Length; i++)//給CheckBoxList選中的複選框 賦值
{
    for (int j = 0; j < CBoxListAnswer.Items.Count; j++)
    {
        if (hfAnswers.Value.Split(',')[i] == CBoxListAnswer.Items[j].Value)
        {
          CBoxListAnswer.Items[j].Selected = true;
        }
    }
}

範例二、迴圈來遍曆讀取每個選項,將選中的選項的值拼接成字串,以便後續插入資料庫

複製代碼 代碼如下:

string m_strTemp = string.Empty;
for (int i = 0; i < CBoxListAnswer.Items.Count; i++)//讀取CheckBoxList 選中的值,儲存起來
{
    if (CBoxListAnswer.Items[i].Selected)
    {
        m_strTemp += CBoxListAnswer.Items[i].Value + ",";
    }
}
if (!string.IsNullOrEmpty(m_strTemp))
    Label1.Text = m_strTemp.Substring(0, m_strTemp.Length - 1);
else
    Label1.Text = m_strTemp;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.