【发布时间】:2018-12-10 10:10:54
【问题描述】:
我有一个表单,其中包含两个代表系列的按钮、一个复制按钮、一个粘贴按钮和一个数据网格视图。 datagridView 通过单击家庭按钮接收家庭成员的对象列表作为数据源。 我的问题是这样的: 在将数据从一个族复制并粘贴到另一个族后,如果我从一个族的 datagridview 编辑一个单元格,则更改会自动应用于另一个族的同一对象。我不明白为什么以及我做错了什么。
有人可以帮我吗?
这是我的代码:
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();
}
【问题讨论】:
-
你能添加
Family声明吗? -
private Dictionary<FamilyDescription, List<FamilyMember>> Family = new Dictionary<Family, List<FamilyMember>>();
标签: c# data-binding datagridview binding datasource