2009-06-17 3 views
0

강하게 입력 된 dset, 두 개의 데이터 테이블이 있습니다 : 부모와 자식, 예상대로 연결하는 관계가있는 경우 (예 : parent- 많은 - 아이들). 내 아이의 세부 정보 양식에 Winforms .net 2.0 : 텍스트 상자를 부모 속성에 바인딩

는, 나는 현재의 아이에 대한 정보를 많이 보여 w과 같이 바인딩 전화/:

me.txtBirthDate.DataBindings.add(New Windows.Forms.Binding("Text", MyDataset, "Child.Birthdate")) 

그러나 나는 또한 아이의 부모에 관한 정보를 보여 드리고자합니다 - 말 , 부모의 이름. 나는 시도했다 :

me.txtParentName.DataBindings.add(New Windows.Forms.Binding("Text", MyDataset, "Child.Parent.Name")) 

me.txtParentName.DataBindings.add(New Windows.Forms.Binding("Text", MyDataset, "Parent.Name")) 

그러나 이러한 빈 텍스트 상자에 결과를 모두.

하위 데이터 테이블 &에 부모 속성을 직접 넣을 수 있습니다. 기본 db 테이블 간의 조인 결과를 채 웁니다. 그러나 가능하면이를 피하십시오. (실제 응용 프로그램에는 각 부모가 몇 명이나되는 많은 어린이들 & 나는 너무 많은 불필요한 데이터를 옮기고 싶지 않다.)

그럴 수 있습니까?

감사합니다.

나는 보통 DataSet과 컨트롤 사이에 BindingSource를 사용

답변

0

-Roy. 이 방법을 사용하면 다른 테이블의 관련 행에 바인딩하려는 컨트롤이있는 경우 관련 행에서 해당 속성을 가리키는 새 BindingSource을 만듭니다 (BindingSource 원래 코드 인 DataMember은 부모 테이블입니다)) 다음 다른 컨트롤을 두 번째 BindingSource에 바인딩하십시오.

저는 일반적으로 디자이너보기에서이 모든 작업을 수행합니다.이보기는 내가 따라갈 때 BindingSource 개의 개체를 만듭니다.

희망이 있습니다.

+0

감사합니다. BindingSource를 시도했지만, 부모에게 다가 가기 위해 사용할 수있는 방법이 분명하지 않았습니다. 저는 CurrencyManager.CurrentChanged 이벤트를 처리하고 거기서 .GetParentRows를 호출했습니다. IOW, 나는 그 들판에 구속력을 사용하지 않고 있습니다. 시간을내어 주셔서 감사합니다. –

관련 문제