2011-05-19 51 views

回答

3
  • 綁定一個事件的按鈕,
  • 迭代根據的selected屬性槽的CheckBoxList
  • 設置文本值Items屬性listitem

像:

protected void button_Click(object sender, EventArgs e) 
{ 
    foreach (ListItem item in theCheckBoxList.Items) 
    { 
     item.Text = item.Selected ? "Checked" : "UnChecked"; 
    } 
} 

爲你增加一個值d做:

foreach (ListItem item in theCheckBoxList.Items) 
{ 
     item.Text = item.Selected ? item.Value : ""; 
} 

或顯示器A12值小型報表:

string test = "you've selected :"; 
    foreach (ListItem item in theCheckBoxList.Items) 
    { 
     test += item.Selected ? item.Value + ", " : ""; 
    } 
    labelResult.Text = test; 
+0

有沒有一種方法可以使每個選擇不同的label.text值?這將使得將值插入到不同的SQL表列更容易。 – brmcdani44 2011-05-19 16:09:08

0

你爲什麼不有一個標籤,點擊按鈕做這樣的事情:

foreach (var li in CheckList1.Items) 
{ 
    if(li.Checked) 
     Label1.Text = li.Value + "<br />"; 
} 

這可能不是確切的語法,但類似的規定。

+0

因爲我計劃採取每個標籤值,要求用戶確認選擇,那麼一旦他們確認選擇,我會將每個值插入到不同的DB列中。 – brmcdani44 2011-05-19 15:49:15

+0

好的,但你可以通過仍然使用你的CheckBoxList.Items來將你的值插入到數據庫中。值將仍然被選中。您可以編寫一個方法遍歷CheckBoxList選擇的項目,然後將每個項目插入到所需的DB列中。 – Jamie 2011-05-19 16:04:49

+0

您是否有任何示例代碼將遍歷每個檢查項目,然後將每個插入正確的列? – brmcdani44 2011-05-19 16:10:35

1

由拉姆達的LINQ找到的CheckBoxList選擇項目:

var x = chkList.Items.Cast<ListItem>().Where(i => i.Selected); 
    if (x!=null && x.Count()>0) 
    { 
     List<ListItem> lstSelectedItems = x.ToList();    
     //... Other ... 
    } 
0

使用此在LINQ:

foreach (var cbx3 in CheckBoxList2.Controls.OfType<CheckBox>().Where(cbx3 => cbx3.ID == s)) 
{ 
    cbx3.Checked = true; 
}