2011-10-01 3 views
0

동일한 wpf 데이터 격자에서 더 많은 SQL Compact 데이터베이스의 두 테이블을 어떻게 사용할 수 있는지 알고 싶습니다. 현재 두 개의 테이블이 있습니다. 계정 및 계정 유형입니다. 계정에 유형의 ID 번호 인 AccountType에 외부 키가 연결됩니다. 또한 Accounts 필드를 상위 계정 (본질적으로 다른 계정의 ID에 대한 외래 키)에 연결하는 필드가 있습니다. 아래는 계정 테이블에 DataGrid를 바인드해야하는 wpf입니다.두 데이터베이스 테이블을 같은 Datagrid에 바인딩

<Window.Resources> 
    <my:MyAccountantDBDataSet x:Key="myAccountantDBDataSet" /> 
    <CollectionViewSource x:Key="accountsViewSource" Source="{Binding Path=Accounts, Source={StaticResource myAccountantDBDataSet}}" /> 
    <CollectionViewSource x:Key="accountTypeViewSource" Source="{Binding Path=AccountType, Source={StaticResource myAccountantDBDataSet}}" /> 
</Window.Resources> 

      <DataGrid Background="DimGray" Name="GridAccounts" CanUserAddRows="True" CanUserDeleteRows="True" ItemsSource="{Binding Source={StaticResource accountsViewSource}}" AutoGenerateColumns="False"> 
       <DataGrid.Columns> 
        <DataGridTextColumn Header="Name" Binding="{Binding Path=AccountName}"/> 
        <DataGridTextColumn Header="Description" Binding="{Binding Path=AccountDesc}" /> 
        <DataGridTextColumn Header="Number" Binding="{Binding Path=AccountNumber}"/> 
        <DataGridTextColumn Header="Type" /> 
        <DataGridTextColumn Header="Parent Account" /> 
       </DataGrid.Columns> 
      </DataGrid> 

내가하고 싶은 것은 유형 열을 AccountType 테이블에 바인드하고 유형 ID가 아닌 유형 ID를 표시하는 것입니다. 또한, 부모 계정에 대한 동일한 생각, 나는 ID 번호를 표시하고 싶지 않고 상위 계정이있는 경우 계정 이름을 표시하려고합니다. 이 두 열에 어떻게이 일을 할 수 있습니까?

+0

잠깐, 테이블을 '조인'하면 쉽게 얻을 수 있습니다. [JOIN] (http://www.w3schools.com/sql/sql_join.asp)에 대한 내용을 읽을 수 있습니다. –

답변

2

데이터베이스의 두 테이블을 조인하는보기를 만든 다음 C#에서보기를 쿼리 할 수 ​​있습니까? 이 방법을 사용하면 모든 처리가 데이터베이스에서 수행되므로 응용 프로그램보다 효율적일 수 있습니다.

+0

Thanks Kevin. 나는 가입에 관하여 모두를 알고있다, 나는 다만 바인딩 또는 아닙니다에 다른 방법이 있는지 생각해 보았다. –

관련 문제