데이터베이스를 읽어 DataTable을 만들고 DataTable에서 다시 클래스를 만드는 작업을 합니다.
이렇게 하는 이유는 DataTable은 Control에 바인딩하기 위해서고 클래스는 프로그램에서 사용하기 위함입니다.
이렇게 하기보다는 클래스가 최종 데이타이니 이걸 그냥 바인딩 시키면 안되나?하는 의구심이 들었습니다.
이렇게 데이터 바인딩을 사용하는 이점은 데이터 조작만으로 화면이 갱신된다는 점입니다.
즉 Control에 데이터를 바인딩시킨 후 데이터를 추가 혹은 삭제하면 Control이 자동으로 변경됩니다.
데이터를 모델 그리고 Control을 뷰라고 생각하면 됩니다. 제공되는 Control에 뷰에 필요한 행위가 다 구현되어 있기 때문에 우리는 모델만 신경 쓰면 됩니다.
신경 쓸 것이 하나 줄어들어 한결 마음이 편안해집니다.
이렇게 하는 이유는 DataTable은 Control에 바인딩하기 위해서고 클래스는 프로그램에서 사용하기 위함입니다.
이렇게 하기보다는 클래스가 최종 데이타이니 이걸 그냥 바인딩 시키면 안되나?하는 의구심이 들었습니다.
List<EQStructure> Structures = new List<EQStructure>();
EQStructure를 List에 담아서 GridControl에 바인딩시키려고 하니 되지 않았습니다. 포기하지 않고 구글링을 해보니 BindingList를 만들어 사용하면 된다고 합니다.BindingList<EQStructure> Structures = new BindingList<EQStructure>();
BindingList는 List와 사용법이 유사하여 기존 코드에서 List로 사용하던 부분을 BindingList로 쉽게 변환할 수 있었습니다.이렇게 데이터 바인딩을 사용하는 이점은 데이터 조작만으로 화면이 갱신된다는 점입니다.
즉 Control에 데이터를 바인딩시킨 후 데이터를 추가 혹은 삭제하면 Control이 자동으로 변경됩니다.
데이터를 모델 그리고 Control을 뷰라고 생각하면 됩니다. 제공되는 Control에 뷰에 필요한 행위가 다 구현되어 있기 때문에 우리는 모델만 신경 쓰면 됩니다.
신경 쓸 것이 하나 줄어들어 한결 마음이 편안해집니다.
댓글
댓글 쓰기