С# CheckBox List Selected Items.Text to Labels.Text

У меня есть CheckBoxList и 5 ярлыков.

Я хотел бы, чтобы текстовое значение этих меток было установлено на 5 вариантов выбора, сделанных из CheckBoxList после того, как пользователь нажмет кнопку. Как бы мне добиться этого?

Заранее спасибо.


person brmcdani44    schedule 19.05.2011    source источник


Ответы (4)


  • привязать событие к кнопке,
  • итерация через свойство Items CheckBoxList
  • установите текстовое значение в соответствии со свойством selected элемента listitem

нравится:

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

чтобы добавить значение, которое вы могли бы сделать:

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

или отобразить все значения в мини-отчете:

    string test = "you've selected :";
    foreach (ListItem item in theCheckBoxList.Items)
    {
        test += item.Selected ? item.Value + ", " : "";
    }
    labelResult.Text = test;
person Caspar Kleijne    schedule 19.05.2011
comment
Есть ли способ сделать каждый выбор другим значением label.text? Это значительно упростило бы вставку значений в другой столбец таблицы SQL. - person brmcdani44; 19.05.2011

найти выбранные элементы из CheckboxList с помощью Lambda Linq:

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

Почему у вас нет одного ярлыка, и при нажатии кнопки сделайте что-то вроде:

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

Это может быть не точный синтаксис, но что-то в этом роде.

person Jamie    schedule 19.05.2011
comment
Поскольку я планирую взять каждое значение метки, попросив пользователей подтвердить выбор, то, как только они подтвердят выбор, я вставлю каждое значение в другой столбец БД. - person brmcdani44; 19.05.2011
comment
Хорошо, но вы можете вставить свои значения в БД, все еще используя свой CheckBoxList.Items. Значения все равно будут выбраны. Вы можете написать метод, который выполняет итерацию по выбранным элементам CheckBoxList, а затем вставляет каждый из них в необходимые столбцы БД. - person Jamie; 19.05.2011
comment
Есть ли у вас пример кода, который будет перебирать каждый проверенный элемент, а затем вставлять каждый в правильный столбец? - person brmcdani44; 19.05.2011

Используйте это в LINQ:

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