欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁 > 軟件編程 > C#教程 >

C#中序列化實現(xiàn)深拷貝,實現(xiàn)DataGridView初始化刷新的方法

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊: 次

winfrom中DataGridView在的單元格在編輯時候會修改它的數(shù)據(jù)源的,如果我們遇到這樣一種情景,刷新數(shù)據(jù)源到原始狀態(tài),這個時候要么數(shù)據(jù)源的重新獲取綁定,要么通過拷貝一份原始檔的數(shù)據(jù)再綁定處理,這里介紹拷貝方式處理。

大致代碼如下:

1.目標(biāo)對需要序列化,并實現(xiàn)ICloneable 接口:

[Serializable]
public class DtoColumn : ICloneable2.實現(xiàn)接口方法Clone: 


public object Clone()
{
    using (MemoryStream ms = new MemoryStream(capacity))
    {
      object CloneObject;
      BinaryFormatter bf = new BinaryFormatter(null, new StreamingContext(StreamingContextStates.Clone));
      bf.Serialize(ms, this);
      ms.Seek(0, SeekOrigin.Begin);      
      CloneObject = bf.Deserialize(ms);       
      ms.Close();
      return CloneObject;
    }
}

3. 通過拷貝一份數(shù)據(jù)來達(dá)到刷新的目的:

private List < dto.DtoColumn > DeepCloneData(List < dto.DtoColumn > rawdata) {
  return rawdata.Select(x = >x.Clone()).Cast < dto.DtoColumn > ().ToList()
}

this.dataGridView1.DoThreadPoolWork(() = >
{
  this.dataGridView1.DataSource = DeepCloneData(CloneInitialColumnData);
  this.dataGridView1.Refresh();
});

以上這篇C#中序列化實現(xiàn)深拷貝,實現(xiàn)DataGridView初始化刷新的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持我們。

上一篇:winform dateTime數(shù)據(jù)類型轉(zhuǎn)換方法

欄    目:C#教程

下一篇:c# Winform 程序自動更新實現(xiàn)方法

本文標(biāo)題:C#中序列化實現(xiàn)深拷貝,實現(xiàn)DataGridView初始化刷新的方法

本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5885.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有