перемещение элементов из одного списка в другое приложение c # Windows

#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)

Я надеюсь, что это полезно для вас. Удачи.