?
在一個(gè)FORM里面放了兩個(gè)datagridview,一個(gè)顯示整合前的數(shù)據(jù),另一個(gè)顯示整合后的數(shù)據(jù),選定整合前的幾條數(shù)據(jù),點(diǎn)選按鈕事件處理嗎然后把處理結(jié)果顯示在整合后datagridview里面,現(xiàn)在有一個(gè)問題就是整合后的datagridview里的值也反映在整合前的datagridview里了,等于說是把整合前的數(shù)據(jù)給覆蓋了。。。。代碼是這樣寫的:把整合前的的數(shù)據(jù)綁定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里的設(shè)置中把DataPropertyName=EVENT_TYPE 以按屬性綁定。。。。。然后 放到某接口調(diào)用,返回的也是個(gè) List型的數(shù)組:?List<CommonQueData> ltMergedOut = new List<CommonQueData>();? ?m_ES.Merge(ltSendData, ltMergedOut);最后我把該數(shù)組綁定在整合后的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;以上就是這么寫的··我現(xiàn)在的要求是:不改變兩個(gè)datagridview綁定同一個(gè)JAM_EVTDbData屬性的前提下··如何不覆蓋整合前的datagridview里的值?
1 回答

慕的地6264312
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
你選中的數(shù)據(jù)在操作前先Clone副本,然后對副本修改,最后返回給第二個(gè)DataGridView 的 List,將包含這些修改后的項(xiàng).
CommonQueData receivedQue =(CommonQueData)( (ICloneable)argLtReceivedQue.ElementAt<CommonQueData>(i)).Clone();
你的 JAM_EVTDbData 和 CommonQueData 得實(shí)現(xiàn) ICloneable 接口.
- 1 回答
- 0 關(guān)注
- 426 瀏覽
添加回答
舉報(bào)
0/150
提交
取消