У меня есть два DataGridView, помеченных: choiceDGV
и universalDGV
, которые связаны с источниками привязки, помеченными: choiceLineBindingSource
и universalLineBindingSource
.
SortableBindingList<ChoiceLine> theChoiceList = new SortableBindingList<ChoiceLine>();
SortableBindingList<UniversalLine> theUniversalList = new SortableBindingList<UniversalLine>();
Затем я добавляю в каждый список, используя foreach
циклов, которые повторяют это:
theChoiceList.Add(new ChoiceLine(item1, item2, item3, item4, item5, item6, item7,
item8, item9, item10, item11, item12, item13));
theUniversalList.Add(new UniversalList(stuff1, stuff2, stuff3, stuff4, stuff5, stuff6, stuff7,
stuff8, stuff9, stuff10, stuff11, stuff12, stuff13));
Теперь я звоню: choiceSort();
и universalSort();
.Они выглядят так:
private void choiceSort()
{
var sortedChoice = theChoiceList.OrderBy(l => l.Speed);
choiceLineBindingSource.DataSource = sortedChoice;
}
private void universalSort()
{
var sortedUniversal = theUniversalList.OrderBy(l => l.Type);
universalLineBindingSource.DataSource = sortedUniversal;
}
РЕДАКТИРОВАТЬ:
Вот код для перемещения предметов.
private void toUniversalButton_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in choiceDGV.SelectedRows)
{
object[] items = new object[row.Cells.Count];
for (int i = 0; i < row.cells.Count; i++)
items[i] = row.Cells[i].Value;
theUniversalList.Add(new UniversalList(item1, item2, item3, item4, item5, item6, item7
item8, item9, item10, item11, item12, item13));
universalSort();
choiceDGV.Rows.Remove(row);
}
}
Моя проблема:
У меня также есть несколько кнопок, которые перемещают элемент из одного DGV в другой.Таким образом, при нажатии выбранные элементы из choiceDGV
будут удалены и добавлены в unversalDGV
.Однако, когда я иду, чтобы переместить элемент (ы) назад, используя другую кнопку, которая удаляет элемент (ы) из universalDGV
и добавляет к choiceDGV
, я получаю дубликаты элементов.
Если этот процесс будет продолжен, и я переместу элемент (ы) назад и на четвертый 4 раза , я получу этот конкретный элемент (ы) 4 раза вместо того, который я хотел.
Так что я получаю дубликаты.Кто-нибудь знает, что происходит и как я могу это исправить, чтобы я получил только один предмет, когда я перехожу на четвертый?
РЕДАКТИРОВАТЬ - Больше информации о проблеме
Я простопереместил каждый элемент из одного списка в другой, чтобы один из DGV был полностью визуально пуст.Теперь, когда я нажимаю кнопку, чтобы переместить элемент (ы) из другого DGV в визуально пустой DGV, он снова заполняет то, что было в DGV (до его очистки) плюс (+) элемент (ы),были выбраны при нажатии кнопки перемещения ...