#listbox
#список
Вопрос:
В моем приложении есть 2 списка. Данные извлекаются из базы данных SQL Server. В listbox1 я хочу выбрать несколько элементов из этого списка и добавить их во второй с помощью кнопки добавления.
ПРОБЛЕМА: значения извлекаются из базы данных, но когда я нажимаю кнопку добавить после выбора значения из listbox1, System.Data.DataRowView автоматически отображается в listbox2.
Listbox2 в настоящее время не подключен ни к одной базе данных.
Вот код:
for (int i = 0; i < listBox1.Items.Count; i )
{
listBox2.Items.Add(listBox1.Items[i]);
listBox1.Items.Remove(listBox1.SelectedItem);
}
Я также пытался использовать это:
for (int i = 0; i < from.SelectedItems.Count; i )
{
to.Items.Add(from.SelectedItems[i].ToString());
}
foreach (var item in new ArrayList(from.SelectedItems))
{
from.Items.Remove(item);
}
From и to — это listbox1 и listbox2 соответственно.
Любая помощь будет оценена.
Ответ №1:
Было бы неплохо, если бы вы могли опубликовать код события нажатия кнопки добавления.
с помощью первого цикла вы копируете все элементы из первого списка во второй. Но ваше описание звучит так, как будто вы хотели бы скопировать только выбранный вами элемент?
Я бы рекомендовал использовать CheckedListBox, в котором вы можете выбирать элементы, а затем копировать только те элементы, которые выбраны.
С помощью такого цикла вы можете выполнить итерацию по всем выбранным элементам:
foreach (string str in listB.CheckedItems)
Я надеюсь, что это полезно для вас. Удачи.