Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : Re : Win form DataGirdView Binding 질문
글번호: 1061
작성자: 레드플러스
작성일: 2022/06/03 오후 5:36:00
조회수: 283

 

안녕하세요.

 

혹시 데이터를 다시 읽어오는 부분에

다음과 같이 명시적으로 DataSource 속성을 null로 처리해보시겠어요?

 

https://github.com/VisualAcademy/TodoApp/commit/62d207813449ffa2ab34b22b1f89c1f6b5d90acd

 

private void DisplayData()
{
    this.dataGridView1.DataSource = null; // 초간단 Refresh
    this.dataGridView1.DataSource = _repository.GetAll();
}

 

특별히 문제는 되지 않을텐데, 

일단, 제 환경에서는 저장 후 바로 다시 로드하는 부분에 큰 문제가 없었습니다.

Web Forms 환경이라면,

반드시 DataGrid 컨트롤에 DataBind() 메서드를 호출해줘야하지만, 

Windows Forms 환경에서는 위 예시 코드처럼 null로 처리 후 다시 읽어오는 것도 하나의 방법이 

될 수 있습니다.

 

또 다른 방법은 DisplayData() 메서드에서

직접 리포지토리 클래스의 인스턴스를 생성 후 직접 읽어와도 됩니다. 

 

그럼, 다시 한 번 살펴보세요.

 

감사합니다.

 

 


On 2022-06-03 오후 12:14:00, '성우' wrote:

 

 


안녕하세요.

C# 교과서와 ASP NET & Core 책을 구매해서 공부하고 있습니다!

또한 항상 유튜브 강의 잘 보면서 감사함을 느끼고 있습니다.

 

C# 교과서 마스터하기 59강 XML, JSON 파트에서 윈폼 데이터 바인딩 질문드립니다.

버튼 클릭 후에 JSON 파일에는 TextBox에 입력된 정보가 잘 저장되는 것을 확인했는데, 윈폼 화면에 있는 DataGridView가 갱신되지 않아서 질문드립니다. 

* 처음 Load 될 때는 정상적으로 갱신되어 출력됩니다.

 

버튼 클릭 이후 JSON파일이 잘 업데이트 되는 것을 확인했고, 추가적으로 버튼 이벤트 이후 데이터 필드인 _repository의 마지막 인덱스의 데이터를 가지고 오는 메서드를 생성하여 호출했지만, 정상적으로 입력된 값이 출력되는 것을 확인했습니다.

 

또 Break Pointer를 걸어서, 데이터 바인딩 하기 전에 _repository 필드에 입력된 데이터가 들어가 있는 것도 확인했습니다.

 

괜찮으시다면 어떤 것이 문제인지 알려주시면 정말 감사드리겠습니다.

 

혹시나 해서 github 주소 첨부드립니다.

https://github.com/srang03/TodoAppinCSharp/blob/main/TodoApp/Todoapp.Forms/Form1.cs

 

감사합니다.

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 (이전 글이 존재하지 않습니다.)
  Win form DataGirdView Binding 질문 - 성우 2022-06-03 585
현재글 Re : Win form DataGirdView Binding 질문 - 레드플러스 2022-06-03 283
다음글 Front 문의 - 김준호 2022-05-26 187
 
손님 사용자 Anonymous (손님)
로그인 Home