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



在一个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里的值?

紫衣仙女
浏览 410回答 1
1回答

慕的地6264312

你选中的数据在操作前先Clone副本,然后对副本修改,最后返回给第二个DataGridView 的 List,将包含这些修改后的项. CommonQueData receivedQue =(CommonQueData)( (ICloneable)argLtReceivedQue.ElementAt<CommonQueData>(i)).Clone(); 你的 JAM_EVTDbData 和 CommonQueData 得实现 ICloneable 接口.
打开App,查看更多内容
随时随地看视频慕课网APP