为了账号安全,请及时绑定邮箱和手机立即绑定

急!!!如何控制两个datagridview绑定同一个属性类的问题~~

急!!!如何控制两个datagridview绑定同一个属性类的问题~~

紫衣仙女 2018-12-06 19:43:27
 在一个FORM里面放了两个datagridview,一个显示整合前的数据,另一个显示整合后的数据,选定整合前的几条数据,点选按钮事件处理吗然后把处理结果显示在整合后datagridview里面,现在有一个问题就是整合后的datagridview里的值也反映在整合前的datagridview里了,等于说是把整合前的数据给覆盖了。。。。代码是这样写的:把整合前的的数据绑定EVTDbData属性类显示: List<JAM_EVTDbData> result = new List<JAM_EVTDbData>();  jamData = LoadJamData.LoadData("JamData.csv");  for (int i = 0; i < jamData.Count; i++)  {  result.Add(jamData[i]);  }  this.JamGridView.DataSource = result;JAM_EVTDbData属性类: public class JAM_EVTDbData : CommonQueData  {      public string INSERT_ID  {  get;  set;  }      public DateTime INSERT_DATE  {  get;  set;  }。。。。。。。。。。。。。。。在datagridview里的设置中把DataPropertyName=EVENT_TYPE 以按属性绑定。。。。。然后 放到某接口调用,返回的也是个 List型的数组: List<CommonQueData> ltMergedOut = new List<CommonQueData>();   m_ES.Merge(ltSendData, ltMergedOut);最后我把该数组绑定在整合后的gridview里面显示: List<JAM_EVTDbData> jamResult = new List<JAM_EVTDbData>(); for (int i = 0; i < ltMergedOut.Count; i++)  { CommonQueData receivedQue = argLtReceivedQue.ElementAt<CommonQueData>(i); jamResult.Add((JAM_EVTDbData)receivedQue);}this.Jam1GridView.DataSource = jamResult;以上就是这么写的··我现在的要求是:不改变两个datagridview绑定同一个JAM_EVTDbData属性的前提下··如何不覆盖整合前的datagridview里的值?
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

你选中的数据在操作前先Clone副本,然后对副本修改,最后返回给第二个DataGridView 的 List,将包含这些修改后的项.

CommonQueData receivedQue =(CommonQueData)( (ICloneable)argLtReceivedQue.ElementAt<CommonQueData>(i)).Clone();

你的 JAM_EVTDbData 和 CommonQueData 得实现 ICloneable 接口.

查看完整回答
反对 回复 2019-01-21
  • 1 回答
  • 0 关注
  • 409 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信