[C#] 가계부 만들기 - 카테고리 - MainView panel , Gridview select event, message 처리 수정

프로젝트/가계부(1)  2013.03.07 09:00

안녕하세요 명월입니다.


날씨가 서서히 풀리는 거 보니 봄이 오려나 봅니다. 모두들 감기 조심하세요.^^
그럼 이번 포스팅도 진행 해 보도록 할께요.
이번 포스팅에서는 위쪽 Mainview Panel 카테고리 수정 부분입니다.



위 이미지에서 Combobox 초기화와 Datagridview 에서 클릭 했을때 Input Panel로 메시지 전송 부분 수정, 또 Inputpanel 에서 변경된 메시지 처리, 마지막으로 Inputpanel 에서 Message 수정 까지 확인 해 보도록 하겠습니다.



Combobox는 전 Inputpanel 에서 작성한 것과 마찬가지로 전 단계의 Combobox Select이벤트에 걸어보도록 하겠습니다.


소스를 보시면 최초 TytpeCombobox SelectChange이벤트에서 Category Combobox를 초기화 하는 모습입니다. 입력하는 DataSet 함수는 Input panel 과 같은 함수를 이용하겠습니다.



1단계 카테고리 selectChange 입니다. 이것도 input Panel 에 있는 Combobox와 같은 로직이므로 설명은 생략하겠습니다.


마지막으로 Combobox의 마지막 이벤트가 남아있네요. 뭐냐하면 CategorySetting Panel 에서 Dataset 데이터가 변경이 일어나면 Combobox를 초기화 해주어야 합니다.
즉, Test라는 카테고리가 있는데 Category Panel에서 삭제를 했는데 Dataview에 남아있으면 안되겠지요.



앞에 추가, 수정, 삭제에 Category_Refresh 라는 함수를 호출하여 그 함수 안에는 각각 Inputpanel과 DataviewPanel 로 Message를 보내었습니다.



메시지를 받는 부분은 지금 현재 지정되어있는 부분을 저장하고 초기화 한다음에 다시 입력하는 형태로 들어갑니다. 여기서 한번 초기화하고 다시 그 값을 입력하게 되면 Combobox에 값이 없는 경우는 값이 들어가지지 않습니다. 즉, 저장한 값이 삭제된 Category 라면 입력되지 않는 형태로 진행 됩니다.
Inputpanel 도 똑같은 형태로 초기화가 되겠습니다.


Gridview의 선택 할 시 Inputpanel 로 가는 메시지 수정입니다.



그 전에 Datagridview가 변경되어있습니다. 이 부분은 코드로 수정한 부분이 아니고 쿼리가 바뀌어서 자연히 바뀌게 된 모습니다.


그래서 선택을 하면 이전 Category가 하나였을때와 항목이 다르게 되어서 전송되게 되겠습니다.



정확히는 4번째 컬럼이 추가 되었습니다 전체 적으론 끝의 한 컬럼을 추가했지만 말입니다. ^^


수신 측의 Inputpanel을 확인 해 보겠습니다.



부분은 저 부분이 추가 되었지만 전체적으로 배열 순서가 바뀌어서 디버그로 맞추어 수정하였습니다.


마지막으로 Inputpanel 수정 포스팅 마지막에 Inputpanel에서 Dataview 패널로 수정된 메시지 보낸 내용이 있습니다. 그 부분도 Inputpanel 과 비슷하게 배열 순서를 바꾸어 주면 수정이 완료 되겠습니다.



수정 부분도 등록과 비슷하니 생략하도록 하겠습니다.


결과 화면입니다.



검색을 하여 선택해서 Inputview 패널에 안착하는 것 까지 확인 하였습니다.


댓글 0개가 달렸습니다.
댓글쓰기