На C# перейти (добавить удалить) элементы двух списков облигаций
У меня есть два списка на двух вкладках приложения Windows Form; lstSource & lstPerson, которые привязаны к DataTable, который является фильтром из запроса базы данных, управляемого из четырех ComboBoxes (WorkGrp, TeamGrp, Position, Location). Я использую два списка типа Binding & lt;object> Для добавления и удаления элементов из этих списков, но они работают только для первого элемента, после чего я получаю " Data. System. DataRowView"
Я пробовал почти каждый пример или предлагаемое исправление, которое я мог найти для проблем" Data.System.DataRowView " или списков/списков.
Что я уже пробовал:
Списка.SelectedObjectCollection sourceRrItems = lstRrSource.Свойство selecteditems;
Список<система.данных.объекта datarowview&ГТ; removeRrItems = новый список<система.данных.объекта datarowview&ГТ;();
по каждому элементу (ВАР продукт в sourceRrItems)
{
lsRrPerson.Добавить((Система.Данных.Объекта datarowview)(элемент)); //добавление элемента в LstPerson
removeRrItems.Добавить((Система.Данных.Объекта datarowview)(элемент));//добавление элемента в список удаление
}
//lstRrPerson.DataSource = null; / / unbind listbox
по каждому элементу (ВАР продукт в removeRrItems)
{
//lsRrSuce.Удалить((инт)(lstRrSource.Выбранные элементы.Рассчитывать));
//lsRrSuce.Удалить(((Система.Данных.Объекта datarowview)пункт.элементе управления listcontrol).Свойства selectedIndex);
for (int i = 0; i < sourceRrItems.Граф; i++)
{
строка itmName = Convert.Метод toString(пункт.Подряд.ItemArray[1]);
string scuName = (lstRrSource.Текст);
if (itmName == scuName)
{
lsRrSuce.RemoveAt(lstRrSource.Свойства selectedIndex);
}
}
}
lstRrPerson.Источник данных = lsRrPerson.OrderBy (x = & gt; "имя").Список();
lstRrPerson.ValueMember = " Person_ID";
lstRrPerson.DisplayMember = " Имя";
lstRrSource.Освежить();
for (int z = 0; z < lstRrPerson.Предметы.Count; z++)
{
lstRrPerson.GetItemText(lstRrPerson.Предметы[з]);
}
lstRrPerson.ValueMember = " Person_ID";
lstRrSource.Источник данных = lsRrSuce.OrderBy (x = & gt; "имя").Список();
lstRrSource.DisplayMember = " Имя";
lstRrSource.Источник данных.Метод toString();
}
}