본문 바로가기

코딩-C#

c# 엑셀 Excel DataGridView initialize 초기화 하는 방법

728x90
반응형

DataTable을 DataGridView에서 불러오는 상황이고

파일을 바꿀때마다 DataGridView가 초기화 되야했다.

 

계속 찾아봤다

그러나 없었다..

아니 안됬다.

 

이방법으론

심지어는

Microsoft Document에도 

https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.datagridviewcolumncollection.clear?view=net-5.0 

 

DataGridViewColumnCollection.Clear 메서드 (System.Windows.Forms)

컬렉션을 지웁니다.Clears the collection.

docs.microsoft.com

private void ResetDataGridView()
{
    dataGridView1.CancelEdit();
    dataGridView1.Columns.Clear();
    dataGridView1.DataSource = null;
    InitializeDataGridView();
}

이런식으로 툭던지고 알아서 하라고한다..

그래서 구글링 했더니 죄다.

    dataGridView1.Columns.Clear();
    dataGridView1.Rows.Clear(); // 여기서 System.ArgumentException 에러난다. 
    dataGridView1.DataSource = null;

이렇게 하란다 근데?? 적용이 안된다

 

한참을 찾았지...

답은 여기있었다.

바로 DataTable과 DataSet을 건드리는것

private void ResetDataGridView(DataGridView dgv){
//1.현재 전역으로 데이터 테이블 변수가 설정되어있다 가정
//2. DataTable (dt)와 DataSet (dset)을 Reset해준후
//3. DataGridView를 Refresh해줌

dt.Reset();
dset.Reset();	
dgv.DataSource = null; 
dgv.Refresh();

}

 

 

728x90
반응형