在一个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 接口.
- 1 回答
- 0 关注
- 409 浏览
添加回答
举报
0/150
提交
取消