본문 바로가기
공부/C#

C# 윈폼(WinForm)에서 데이터그리드뷰(DataGridView) - 1. 설정

by ding9 2012. 12. 22.

 

데이터그리드뷰를 처음 윈폼에 얹어놓고 보면...

 

그냥 전체 진회색바탕만 보이면... 처음에 바로 당황하게 됩니다.....

 

물론 적당한 사전지식이 있거나 실기위주의 C#책을 옆에 놓고 하는것이면 모르겠지만...

 

나도 처음 ' 이거 뭐 어찌 쓰라는거야..ㅡㅡ;' 이렇게 당황을...ㅋ;

 

그러다가 구글링을 했는데 많은 자료들이 소스로 추가하거나 설정하는 뭐 그런 류들은 많았는데 실질적으로 C#을 쓰는 가장 기본적인 이유인 모든 컨트롤이 복잡한 타이핑없이 클릭 몇번으로 가능하다는 것.... 그 장점을 살리기 위해서 설정하는것 부터 설명을 시작합니다.

 

만약 이글부터 읽고 있다면 http://ding9.tistory.com/412 이글에서 파일을 받던지 아니면 이글의 윈폼구성과 비슷하게 구성을 하고 글을 보는 것이 더 편할것이라 생각됩니다. 뭐 굳이 아니라면 상관없고....

 

 처음 하는 사람들을 위해서 하나하나 상세하게 설명을 해서 글이 길어질 수 있으니 필요한 부분만 적당히 보셔도 됩니다.

 

이제 설명 들어갑니다.

 

 


 

윈폼위에 있는 데이터그리드뷰(이하 DGV로 용어 표현.)를 선택하면 DGV 우측상단에 화살표가 보입니다.

 

위 그림처럼 DGV 우측상단에 화살표를 누르면 아래 그림과 같은 팝업이 나타납니다.

 

 

그림처럼 나타난 것에서 다른 부분은 크게 설명하지 않겠습니다. 열편집을 클릭합니다.

 

열 추가는 열편집안에 속해있는 부분이기에 다른 설명하지 않습니다. 또한 나머지 데이터 소스선택, 체크박스부분은 설명하지 않습니다.

 

열편집을 찾아가는 다른 방법은 DGV를 선택하면 속성창에 Columns라는 항목을 찾습니다.

 

 

위의 그림처럼 Columns 항목옆에 (컬렉션) 우측의 ...버튼을 클릭하거나 속성창 하단에 열편집이 위 처럼나타나는데(DGV선택시에만 나타남) 그것을 클릭해도 열편집창을 볼 수 있습니다.

 

 

열편집을 누르면 위와 같은 새로운 창이 뜨게 되고 여기서 추가를 누르면 열을 추가할 수 잇는 창이 아래와 같이 뜨게 됩니다.

 

 

여기서 이름은 변수의 이름이고, 형식은 DGV셀의 형식입니다. 이부분은 추후에 설명하도록 하겠습니다.

 

기본설정은 지금 보이는 바와 같이 textbox입니다.

 

머리글 텍스트는 열의 이름으로 맨 위에 보여지는 글입니다.

 

아래 체크박스는 표시는 DGV에 표시할것인지이고, 읽기전용은 편집이 가능하게 할것인가, 고정은 셀의 가로크기를 고정할것인가 입니다.

 

입력시 주의점은 닫기는 그냥 닫아지며, Enter키를 누르면 추가후 닫기, 추가만 누르면 연속적으로 새로운 열을 추가할 수 있으니 사용에 참조하세요.

 

 

저는 여기서 하루동안 전구를 켜고 끄고 밝기 조절을 하는 스케줄러를 만든다고 가정을 하고 DGV를 구성하므로 순번, 시간, 분, 상태, 밝기 총 5개의 열을 추가하여 위와 같은 상태로 만들엇습니다.

 

이상태에서 확인을 눌러 윈폼디자인 창에 가보면 아래와 같이 변해잇는 DGV를 볼수 있습니다.

 

보시는 바와 같이 열의 가로를 설정해주지 않아서 DGV하단에 스크롤바가 생긴것을 확인할 수 있습니다.

 

사용상 편의를 위해서 열의 가로를 줄여 한눈에 보이도록 하기 위해서 DGV 열편집 창을 다시 띄웁니다.

 

 

 

열 편집 창에서 속성을 보면 위 그림 처럼 레이아웃이 보입니다. 만약 위 그림처럼 안보이면 '바인딩되지않은 속성' 바로 밑에 아이콘 선택이 AZ화살표가 선택인지 확인하고 그것이 선택이 되어있으면 바로 앞 아이콘을 선택해주세요.

 

여기서 사용할 것은 AutosizeMode와 Width입니다.

 

Width는 말 그대로 가로 길이 설정이고 저는 순서대로 순번, 시간, 분, 상태 순으로 50,80,80,90 을 입력 했습니다.

 

AutosizeMode는 다른건 써본적 없고 Fill이라는 항목이 있는데 마지막 세기(Intensity)는 Width를 바꾸지 않고 AutosizeMode에서 Fill을 선택합니다

 

Fill은 고정적으로 할당된 열을 제외한 나머지 공간을 모두 채우는 것입니다 만약 수직 스크롤바가 생기는 경우에 사용하면 그만큼을 제외하고 창크기가 되므로 DGV아래 수평스크롤바가 생기는 것을 방지해줍니다.

 

이렇게 설정을 하고 나면 열편집을 완료하면 Form1디자인 창에 아래와 같이 표현이 됩니다.

 

이번엔 여기까지....

 

기본적인 설정을 하는 부분에 대해서 알아봤습니다.

 

다음 글에서는 데이터 그리드뷰에 데이터를 넣는 방법에 대해서 적겠습니다.

 

 

 

도움이 되셧다면 추천 한번 해주세요~~!!

 

p.s

 # 읽다가 이해가 되지 않는 부분이나 틀린내용이 있다면 댓글 남겨주시면 수정하도록 하겠습니다.

 # 이번 글은 간단한 설정이므로 소스를 올리지 않습니다.

 

반응형

댓글