QuantumGrid의 마스터/하위 속성은 주로 그리드의 여러 항목을 중첩하도록 설계되었습니다. 데이터 구성 요소에 관계를 설정하면 컨트롤을 올바른 DataSource에 연결하기 만하면 모든 것이 작동합니다.
두 개의 DataSets 고객 및 송장이있는 경우. 송장 마스터 데이터 소스는 고객 데이터 소스입니다. 그런 다음 편집 컨트롤에서 Customer DataSource를 가리키고 Grid를 Invoice DataSource로 지정합니다. 당신이 마스터/디테일 관계를 무엇을하고 있는지에 대해 생각하는 경우
정말 그냥 마스터 데이터 집합의 현재 레코드와 일치하는 상세 데이터 집합에 레코드를 필터링합니다. 개별 편집 컨트롤은 연결되어있는 데이터 세트에 항상 "현재"레코드를 표시합니다. 그리드는 연결되어있는 DataSet의 보이는 모든 레코드를 보여줍니다.
여기에 표시되는 것처럼 편집 양식에서 마스터/세부 정보 관계를 사용하지 않는 경향이 있습니다. 다른 화면에서 편집 할 인보이스를 선택하는 방법이 있다고 가정합니다. 보통이 편집에 필요한 레코드 만있는 필요한 DataSets의 복사본을 만듭니다. 기존 송장을 편집하는 중 현재 레코드를 복사합니다. 새로운 인보이스 인 경우 빈 레코드 세트로 시작할 수 있습니다. 더 많은 작업이 필요합니다. DataSet Structure를 복사 한 다음 하나 이상의 레코드를 해당 데이터 세트로 복사하는 일반 라이브러리 함수가 있습니다. 설정에 따라 관심있는 레코드를 얻기 위해 데이터베이스를 다시 쿼리 할 수도 있습니다. 모든 경우에 그렇게해서는 안됩니다. 이 접근법의 또 다른 문제는이 데이터 (예 : 기본 검색 화면)에있을 수있는 다른 데이터 세트를 업데이트 할 수있는 방법이 필요하다는 것입니다.
그러나 일단 편집 화면이 나타나면 일이 단순 해집니다. 이제 최상위 수준의 마스터 세부 관계에 대해 걱정할 필요가 없습니다. 송장에 내부 마스터/세부 관계가있는 경우이를 처리 할 수는 있지만 데이터 세트에는이 송장에 대한 데이터 만 포함되어 있습니다. 데이터베이스의 모든 데이터가 아닙니다. 방금 직접 모든 것을 연결할 수 및 예상대로 작동해야하는 데이터 집합의 데이터를 제한 할 경우 양식의 경우
. 고객 데이터 세트에는 하나의 레코드 만 있고 송장에는이 송장의 레코드 만 있습니다.
감사합니다. – Salvador