반응형

WANIGridDataTableDataSource에 할당하는 방법에 대해서 알아보자.

보통 우리는 데이터베이스에서 쿼리를 통해서 우리가 원하는 데이터들을 DataTable에 담아서 가져오게 되고, 이렇게 가져온 데이터를 특정한 양식 또는 원하는 화면에 사용자에게 제공하게 된다.

WANIGrid 또한 이렇게 가져온 데이터인 DataTable를 할당함으로써 WANIGrid에 원하는 컬럼의 정보들을 모두 제공할 수 있게 된다.

 

첨부된 WANIGridExample 프로젝트의 WANIGridExample.cs파일을 열어서 GridInitialize() 메소드를 살펴보자. WANIGrid를 사용하기 위해서는 항상 WANIGridHeader Column을 정의하고 WANIGrid에서 보여주고자 하는 DataTable의 정보를 할당하면 된다.

GridInitialize 메소드의 내부를 하나씩 살펴보기로 하자.

 

HeaderColumn 클래스의 List를 선언하고 waniGrid.TopHeaderList.GetHeaderList() 메소드를 호출해서 빈 headerColumns List를 생성한다.

List<HeaderColumn> headerColumns = waniGrid.TopHeaderList.GetHeaderList();

List<HeaderColumn> headerColumns를 새로 생성한다. Index 값이 0이고 ColumnId“LeftHeader”인 빈 컬럼 1개만 생성됨. 이 후에 각 컬럼들을 추가한다.

 

HeaderColumn 클래스의 속성과 메소드를 잠깐 살펴보자.

속성(Property)

get/set

상세

public int Index

get/set

컬럼 인덱스

public string ColumnId

get/set

컬럼 ID. DataTableColumn Name과 동일해야 함

public string Title

get/set

컬럼 헤더의 명칭.

public int Left

get/set

컬럼의 Left 즉 시작하는 X좌표 값

public int Width

get/set

컬럼의 폭

public HorizontalAlignment HeadAlign

get/set

컬럼 헤더 명칭의 정렬 방법

public HorizontalAlignment TextAlign

get/set

컬럼 데이터의 정렬 위치. DataTableRow별 컬럼 ID에 해당하는 데이터 값을 의미

public bool Visible

get/set

화면에서 해당 컬럼을 화면에 Display 여부. true면 보여지고 false인 경우 숨겨짐.

public bool Editable

get/set

컬럼의 데이터 편집 여부. true면 편집 가능 그렇지 않으면 편집 불가

public bool IsCalendar

get/set

컬럼이 날짜 정보를 가지고 있으면 true, 그렇지 않으면 false

public ViewRange

ViewRange

get/set

컬럼의 시작 X좌표와 끝 X좌표 값을 가지고 있는 ViewRange 타입.

 

WANIGrid를 초기화 하는 방법은 Header 영역을 초기화하고, Header영역의 컬럼들을 정의하는 것으로 일차적인 초기화를 하게된다.

Header영역을 Clear하고 HeaderColumn 목록을 초기화한다.

List<HeaderColumn> headerColumns = waniGrid.TopHeaderList.GetHeaderList();

DataTable의 각 컬럼명과 ColumnId를 동일하게 부여하면 DataTableColumn 값이 WANIGrid의 컬럼에 표시되게 된다.

headerColumns.Add(new HeaderColumn() { ColumnId = "Col01", Title = "Column 01", Width = 80, HeadAlign = HorizontalAlignment.Center, TextAlign = HorizontalAlignment.Left, Editable = true, Visible = true });

headerColumns ListHeaderColumn을 추가하면서 컬럼들을 하나씩 설정해 나가면 된다.

  • ColumnId DataTableColumn명과 동일하게 부여하면 DataTableColumn 값을 할당하게 된다.
  • Title WANIGrid의 컬럼 헤더에 표시되는 텍스트
  • Width 컬럼의 폭을 지정한다.
  • HeadAlign 헤더의 표시되는 텍스트 정렬 방법
  • TextAlign Column 값의 정렬 방법
  • Editable 편집 여부
  • Visible 화면에 표시 여부

컬럼의 속성을 설정해서 headerColumns 리스트를 waniGrid 컨크롤에 할당한다.

waniGrid.TopHeaderList.SetHeaderList(headerColumns);

WANIGrid 컨트롤에 할당한 컬럼 정보들을 InitializeHeader 메소드를 호출해서 초기화한다.

waniGrid.InitializeHeader();

WANIGrid 컨트롤에 고정 컬럼의 개수를 지정할 경우 FixedCol 속성에 고정 컬럼의 개수를 지정한다. 기본 값은 0이다.

waniGrid.FixedCol = 0;

 

아래의 첨부 파일을 실행하면 하기와 같은 화면을 볼 수 있다.

[그림 2-1] WANIGridExample 실행화면

고정컬럼 개수를 변화시켜 보라. 고정컬럼의 영역이 무엇을 의미하는지 확인할 수 있을 것이다.

고정컬럼 수정을 체크했을 때 고정컬럼 영역을 클릭해보라. 값을 입력할 수 있는 텍스트 입력 컨트롤이 활성화 될 것이다.

행간격을 높이거나 줄여보라. 행 높이의 기본 값은 20이다.

DataTable에서 Data 가져오기 버튼을 클릭해 보라. 내부적으로 DataTable을 생성해서 생성된 DataTableWANIGridDataSource에 할당하면 아래의 같이 각 필드의 값이 DataTable의 값으로 채워지게 된다.

자세한 내용은 아래의 첨부된 소스를 참조해 보기 바란다.

 

WANIGridExample_20200514.zip
0.21MB
WANIGrid.dll
0.05MB

 

 

반응형

'WinForm > WANIGrid 컨트롤 공개' 카테고리의 다른 글

WANIGrid Control 개선 - Mouse Wheel 처리 추가  (0) 2021.04.13
WANIGrid Control 개선  (0) 2021.04.10
WANIGrid Control 사용법 1  (1) 2020.04.30

+ Recent posts