欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年02月19日 16:33:02   投稿:jingxian  
下面小編就為大家?guī)硪黄狢#中序列化實現(xiàn)深拷貝,實現(xiàn)DataGridView初始化刷新的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

大致代碼如下:

1.目標對需要序列化,并實現(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ù)來達到刷新的目的:

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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • C#刪除文件夾和文件到回收站示例

    C#刪除文件夾和文件到回收站示例

    本文介紹了C#刪除文件和文件夾到回收站的方法,平時都是使用File.Delete方法刪除文件,這樣刪除之后就真沒有了。下面的代碼可以將文件刪除放到回收站里
    2014-01-01
  • 使用Nopcommerce為商城添加滿XX減XX優(yōu)惠券功能

    使用Nopcommerce為商城添加滿XX減XX優(yōu)惠券功能

    中秋國慶節(jié)眼看到跟前了,很多商城都借此機會搞促銷活動,什么滿200減80送優(yōu)惠券等活動,基于后臺程序是怎么實現(xiàn)的呢?下面腳本之家小編帶領大家一起學習吧
    2015-09-09
  • c#實現(xiàn)選擇排序的示例

    c#實現(xiàn)選擇排序的示例

    這篇文章主要介紹了c#實現(xiàn)選擇排序的示例,幫助大家更好的理解和使用排序算法,感興趣的朋友可以了解下
    2020-10-10
  • Chrome Visual Studio 2005下的編譯過程

    Chrome Visual Studio 2005下的編譯過程

    研究Chrome ,首先得把它編譯出來,這對于后續(xù)的代碼分析和閱讀有很大的幫助,想想自己編譯出一個 Chrome 瀏覽器來使用,那是一件很炫的事情。
    2009-07-07
  • C#遍歷刪除字符串中重復字符

    C#遍歷刪除字符串中重復字符

    這篇文章主要介紹了C#遍歷刪除字符串中重復字符的方法,涉及C#遍歷字符串的相關技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • C# 判斷文件路徑的后綴

    C# 判斷文件路徑的后綴

    本文主要介紹了C# 判斷文件路徑的后綴,,通過解析文件名并檢查其擴展名來判斷文件的后綴是否為.dcm,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • C#實現(xiàn)json的序列化和反序列化實例代碼

    C#實現(xiàn)json的序列化和反序列化實例代碼

    這篇文章主要介紹了C#實現(xiàn)json的序列化和反序列化實例代碼,有需要的朋友可以參考一下
    2013-12-12
  • C#操作DataGridView獲取或設置當前單元格的內(nèi)容

    C#操作DataGridView獲取或設置當前單元格的內(nèi)容

    這篇文章介紹了C#操作DataGridView獲取或設置當前單元格的內(nèi)容,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • C#?winform跨線程操作控件的實現(xiàn)

    C#?winform跨線程操作控件的實現(xiàn)

    本文主要介紹了C#?winform跨線程操作控件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • C# 創(chuàng)建、部署和調(diào)用WebService簡單示例

    C# 創(chuàng)建、部署和調(diào)用WebService簡單示例

    這篇文章主要為大家詳細介紹了C# 創(chuàng)建、部署和調(diào)用WebService的簡單示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論