2009-07-29 2 views
1

두 개의 데이터베이스 테이블과 함께 매우 간단한 형식을 가지고 있습니다.C# - DataGridView - 다른 데이터베이스 테이블에서 한 열을 읽으시겠습니까?

이 양식은 첫 번째 테이블 tblProjects을 읽는 ComboBox입니다. 사용자에게 "프로젝트 이름"을 표시하고 선택하면 두 번째 테이블에서 데이터를 읽는 DataGridView를 필터링합니다 : tblData.

tblData에는 "프로젝트 이름"이 포함되어 있지 않고 두 테이블이 공유하는 GUID가 포함되어 있습니다. 각 프로젝트에는 고유 한 Guid가 있습니다. 즉 10 개의 프로젝트 = 10 개의 Guids입니다.

당연히 테이블을 필터링하면 해당 프로젝트의 데이터가 표시되지만 "프로젝트 이름"은 분명히 해당 DataGridView에서 사용할 수있는 값 중 하나가 아니며 다시 tblData에서 읽습니다.

해당 DataGridView 내에 표시되는 Guid를 해당 "Project Name"으로 바꿀 수 있습니까?

답변

3

다른 데이터 테이블의 데이터 열을 DataGrid에 바인딩 된 데이터 뷰/데이터 테이블에 추가 할 수 있습니다. 그러나 SQL/LINQ 레벨에서 JOIN을 빌드하는 것이 더 나은 솔루션입니다.

2

데이터를 어떻게 다시 가져올 지 확신 할 수 없지만 다른 테이블에 참여하여 프로젝트 이름을 결과 집합의 일부로 지정해야합니다.

데이터를 검색하는 방법에 대한 자세한 정보를 제공하면 대답하기가 더 쉽습니다.

+0

데이터는 디자이너를 통해 빌드 된 양식에 VS2005가 사용하는 표준 BindingSource 프로세스를 통해 수집됩니다. – scrot

1

꽤 일반적인 요구 사항입니다. 이 문제는 DataGridView에서 두 테이블의 데이터를 표시하는 방법이 아니라 외래 키가있을 때 DataGridView에서 ComboBox를 설정하는 방법입니다.

당신은 주제에 대한 좀 더 많은 정보를 원하시면이 글을 볼 수 있습니다 http://www.informit.com/articles/article.aspx?p=446453&seqNum=9

0

내가 테이블 어댑터의 스키마를 수정할 수 있었다. 그것을 열어 내가 필요로하는 테이블과 컬럼을 시각적으로 추가했습니다. 고마워요.

관련 문제