我有三张桌子可以加入名为Books,Borrowers和Transactions。 数据库方案如下:
相应的类别分别为Book,Borrower和Transaction。现在我想从这三个表中选择BookID,BookName,BorrowerID,BorrowerName,BorrowDate和ReturnDate,并在具有gridview控件的列表视图中显示。 XAML代码:
<Grid>
<ListView Margin="15,57,58,57" Name="borrowedBookList" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding }" KeyDown="borrowedBookList_KeyDown">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Width="80" Header="Borrower ID" DisplayMemberBinding="{Binding Path=BorrowerID}"/>
<GridViewColumn Width="220" Header="Borrower Name" DisplayMemberBinding="{Binding Path=BorrowerName}"/>
<GridViewColumn Width="220" Header="Book Name" DisplayMemberBinding="{Binding Path=BookName}"/>
<GridViewColumn Width="100" Header="Date" DisplayMemberBinding="{Binding Path=BorrowDate}"/>
<GridViewColumn Width="100" Header="Return Date" DisplayMemberBinding="{Binding Path=ReturnDate}"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
</Grid>
现在我如何加入这些表并将结果datacontext分配给borrowedBookList?
三江源
Arefin Sami
答案 0 :(得分:1)
borrowedBookList.DataSource =
from borrower in Borrowers
join transaction in Transactions
on borrower.BorrowerID equals transaction.BorrowerID
join book in Books
on transaction.BookID equals book.BookID
select new
{
borrower.BorrowerID,
borrower.BorrowerName,
book.BookName,
transaction.BorrowDate,
transaction.ReturnDate,
}
borrowedBookList.DataBind();
答案 1 :(得分:0)
你看过hierarchydatatemplate类了吗?
您的模型或视图模型需要包含相应的关系。从那里,适当的datatemplate应该很好地工作。