사용자 정의 개체 인 DomainModel.Member에 바인딩 된 MemberBS라는 바인딩 소스에 바인딩 된 컨트롤이있는 winform이 있습니다. 구성원 개체는 구성원이라고하는 SQL Server 데이터베이스의 테이블에 바인딩됩니다.winform 컨트롤을 새로 고치면 데이터 소스가 변경된 후 바인딩 소스에 바인드 된 바인딩 소스에 바인딩됩니다.
양식의 컨트롤 중 4 개의 텍스트 상자가 있는데, 다음과 같이 바인딩됩니다.
DuesOwingCE.DataBindings.Add("Text", MemberBS, "DuesOwing", true, DataSourceUpdateMode.OnPropertyChanged);
InitOwingCE.DataBindings.Add("Text", MemberBS, "InitOwing", true, DataSourceUpdateMode.OnPropertyChanged);
OtherOwingCE.DataBindings.Add("Text", MemberBS, "OtherOwing", true, DataSourceUpdateMode.OnPropertyChanged);
AmountOwingCE.DataBindings.Add("Text", MemberBS, "AmountOwing", true, DataSourceUpdateMode.OnPropertyChanged);
사용자가 트랜잭션을 입력하기 위해 버튼을 클릭합니다. 현재 편집중인 멤버의 멤버 객체를 대화 상자로 전달합니다. 사용자는 구성원에 대한 트랜잭션을 입력 한 다음 저장을 클릭합니다. 저장 단추는 CalculateOwing이라는 메서드를 호출합니다. 이 메소드는 멤버에 대한 회비, 개시, 기타 및 총 청구 금액을 다시 계산하고 멤버 오브젝트를 저장하며,이 멤버 오브젝트는 저장을 기본 데이터 소스로 커밋합니다.
거래 양식이 닫히고 사용자가 회원 양식으로 돌아갑니다. 이제 텍스트 상자를 업데이트하여 새 잔액이 표시되도록하는 방법은 무엇입니까? MemberBS.ResetBindings (false) 시도했지만 그 doesnt 작동합니다.
는 데이터 소스로부터 객체를 다시 재 장전 할 수있는 유일한 솔루션MemberBS.DataSource = Repository.GetMember (socSecNo);
또는 더 좋은 것이 있습니까?