У меня есть форма, которая содержит две кнопки, представляющие семейства, кнопку копирования, кнопку вставки и просмотр таблицы данных.
DatagridView получает список объектов членов семейства в качестве источника данных, нажав кнопку Family.
Моя проблема заключается в следующем:
После копирования и вставки данных из семейства в другое семейство, если я редактирую ячейку из сетки данных семейства, изменения автоматически применяются к тому же объекту другого семейства. Я не понимаю, почему и что я делаю неправильно.
Может ли кто-нибудь мне помочь?
Вот мой код:
private void BtnCopy_Click(object sender, EventArgs e)
{
List<Familymember> selectedFamilyMemberList = ((BindingList<Familymember>)dgvFamilyMember.DataSource).ToList();
if (selectedFamilyMemberList != null && selectedFamilyMemberList .Count > 0)
{
CopiedFamilyMemberList.AddRange(selectedFamilyMemberList);
btnPaste.Enabled = true;
}
}
private void BtnPaste_Click(object sender, EventArgs e)
{
ID_FamilyPasteTo = seletedFamily.ID;
Family[FamilyList.Find(x => x.ID == ID_FamilyPasteTo)].Clear();
if (CopiedFamilyMemberList.Count > 0 && ID_FamilyCopyFrom != ID_FamilyPasteTo )
{
Family[seletedFamily].AddRange(CopiedFamilyMemberList);
dgvDosingPart.DataSource = null;
dgvDosingPart.AutoGenerateColumns = false;
dgvDosingPart.DataSource = new BindingList<FamilyMember>(Family[seletedFamily]);
dgvDosingPart.Refresh();
btnPaste.Enabled = false;
}
CopiedFamilyMemberList.Clear();
}