以编程方式在ListBox中选择多个项目?

时间:2019-05-19 11:27:35

标签: c# asp.net listbox multi-select

我正在尝试通过C#选择ListBox项。我无法选择多个项目,它总是选择我选择的项目列表中的最后一个值。

我试图遍历每个ListBoxItem,并检查它是否存在于我选择的项目列表中。

 List<int> SelectedItems = new List<int>();
 SqlCommand cmd = new SqlCommand(Query, con)
 con.Open();
 SqlDataReader dr = cmd.ExecuteReader();
 while (dr.Read()) {
   SelectedItems.Add(Convert.ToInt32(dr["RecordId"].ToString()));
 }
 for (int i = 0; i < listbox.Items.Count; i++) {
     int x = Convert.ToInt32(listbox.Items[i].Value.ToString());
     if(SelectedItems.Contains(x)){
     listbox.SelectionMode = listbox.Multiple;
     listbox.SelectedIndex = i;
     }
  }

我需要选择多个项目,而不仅仅是最后选择的值。我在做什么错了?

2 个答案:

答案 0 :(得分:1)

与其设置SelectedIndex属性,不如尝试将listbox.SetSelectedlistbox.SetSelected(x,true);添加项目

答案 1 :(得分:0)

您可以使用此:

LblDisplay.Text = "";
lstPromote_products.SetItemChecked(4, true);
chkRestricted.Checked = true;