Datagrid与两个表绑定

时间:2009-08-23 14:14:20

标签: wpf data-binding datagrid

请帮忙。

我有两个关系表,即Employee和EmployeePosition。我试图将两个表绑定到xmal文件上的一个数据网格中,而不使用LINQ 将这两个表连接到c#代码后面的一个集合中。我该怎么做? 下面的示例代码和表格

Empolyee 员工ID 名字 姓 PositionID

EmployeePosition PositionID 标题

我的例外结果是:

EmployeeID   FirstName   LastName  Title

Xaml文件

<DataGrid x:Name="DataGrid">
  <DataGridTextColumn Header="First Name" Binding="{Binding FirstName}"/>
  <DataGridTextColumn Header="Last Name" Binding="{Binding LastName}"/>            
  <DataGridTextColumn Header="Title" Binding="{Binding Title}"/>
</DataGrid>

C#代码

var employee = from e in _db.Employees
               select e;
this.DataGrid.ItemsSource = employee;

请帮忙 帕特里克

1 个答案:

答案 0 :(得分:0)

最简单的方法是根据查询创建数据表,该查询从两个表中选择值,如:

SELECT
    Employee.EmployeeID,
    Employee.FirstName,
    EmployeePosition.Title
FROM
    Employee
LEFT OUTER JOIN
    EmployeePosition
ON
    Employee.PositionID = EmployeePosition.PositionID

如果您使用的是数据集设计器,则可以从工具箱中添加新的表适配器:

DataSet Toolbox

可能需要一些时间,但会出现表适配器配置向导。选择您的数据库并按照步骤操作,直到您可以添加查询:

Enter a query...

然后按照向导中的其余步骤进行操作。

然后,您将拥有一个可用于绑定到数据网格的数据表。