다음 편집기에서는 직렬화를 통해 전체 복사를 구현하고 DataGridView 새로 고침을 초기화하는 방법에 대한 C# 기사를 제공합니다. 에디터가 꽤 좋다고 생각해서 지금 공유해서 참고용으로 올려보겠습니다. 편집기를 따라가서 살펴보겠습니다.
winfrom의 DataGridView가 있는 셀은 편집 시 데이터 소스를 수정합니다. 이러한 상황이 발생하면 데이터 소스를 원래 상태로 새로 고칩니다. time 바인딩을 위해 데이터 소스를 다시 얻거나 원본 파일의 데이터를 복사한 후 바인딩하는 방법을 소개합니다.
대략적인 코드는 다음과 같습니다.
1 대상 쌍을 직렬화하고 ICloneable을 구현해야 합니다. 인터페이스:
[Serializable] public class DtoColumn : ICloneable2.实现接口方法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. 데이터 복사본을 복사하여 새로 고침:
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#에서 직렬화를 통해 DataGridView의 전체 복사 및 초기 새로 고침을 구현하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!