Подтвердить что ты не робот

Программно проверить элемент в списке флажков, где текст равен тому, что я хочу

В С# я пытаюсь проверить элемент в CheckBoxList, где текст равен тому, что мне нужно.

Я бы изменил код, чтобы проверять элементы, существующие в базе данных.

Если вам нужен пример, мне нужно выбрать элемент контрольного списка, равный abc

4b9b3361

Ответ 1

Предполагая, что элементы в вашем CheckedListBox являются строками:

  for (int i = 0; i < checkedListBox1.Items.Count; i++)
  {
    if ((string)checkedListBox1.Items[i] == value)
    {
      checkedListBox1.SetItemChecked(i, true);
    }
  }

или

  int index = checkedListBox1.Items.IndexOf(value);

  if (index >= 0)
  {
    checkedListBox1.SetItemChecked(index, true);
  }

Ответ 2

Пример на основе ASP.NET CheckBoxList

<asp:CheckBoxList ID="checkBoxList1" runat="server">
    <asp:ListItem>abc</asp:ListItem>
    <asp:ListItem>def</asp:ListItem>
</asp:CheckBoxList>


private void SelectCheckBoxList(string valueToSelect)
{
    ListItem listItem = this.checkBoxList1.Items.FindByText(valueToSelect);

    if(listItem != null) listItem.Selected = true;
}

protected void Page_Load(object sender, EventArgs e)
{
    SelectCheckBoxList("abc");
}

Ответ 3

Все кредиты @Jim Scott - просто добавили одно касание. (ASP.NET 4.5 и С#)

Повторяя это немного больше... если вы передадите CheckBoxList в качестве объекта метода, вы можете повторно использовать его для любого CheckBoxList. Также вы можете использовать либо текст, либо значение.

private void SelectCheckBoxList(string valueToSelect, CheckBoxList lst)
{
    ListItem listItem = lst.Items.FindByValue(valueToSelect);
    //ListItem listItem = lst.Items.FindByText(valueToSelect);
    if (listItem != null) listItem.Selected = true;
}

//How to call it -- in this case from a SQLDataReader and "chkRP" is my CheckBoxList`

SelectCheckBoxList(dr["kRPId"].ToString(), chkRP);`

Ответ 4

//Множественный выбор:

private void clbsec(CheckedListBox clb, string text)
{
    for (int i = 0; i < clb.Items.Count; i++)
    {
        if(text == clb.Items[i].ToString())
        {
            clb.SetItemChecked(i, true);
        }        
    }
}

используя == >

clbsec(checkedListBox1,"michael");

or 

clbsec(checkedListBox1,textBox1.Text);

or

clbsec(checkedListBox1,dataGridView1.CurrentCell.Value.toString());