您需要在DataGrid 其中显示数据库中的信息。例如我有一个类:
public partial class Orders
{
public Orders()
{
this.CustomersOrders = new HashSet<CustomersOrders>();
this.OrdersProducts = new HashSet<OrdersProducts>();
}
public int order_id { get; set; }
public Nullable<int> order_prodCount { get; set; }
public string order_dateils { get; set; }
public string order_status { get; set; }
public System.DateTime order_date { get; set; }
public virtual ICollection<CustomersOrders> CustomersOrders { get; set; }
public virtual ICollection<OrdersProducts> OrdersProducts { get;
set; }
}
一个类Orders与一个 类相关,Customers并Products通过多对多关系
public partial class CustomersOrders
{
public int customersOrders_id { get; set; }
public Nullable<int> order_id { get; set; }
public Nullable<int> cust_id { get; set; }
public virtual Customers Customers { get; set; }
public virtual Orders Orders { get; set; }
}
和
public partial class OrdersProducts
{
public int ordersProducts_id { get; set; }
public Nullable<int> order_id { get; set; }
public Nullable<int> prod_id { get; set; }
public virtual Orders Orders { get; set; }
public virtual Products Products { get; set; }
}
我如何输出Products和Customers,特别prod_name是从Products和custom_name custom_Surname从Customers 到我DataGrid的位置 order_dateils, order_status, order_date
以及如何将所有这些与连接起来XAML?
<DataGrid.Columns>
<DataGridTextColumn Header="Product" Binding="{Binding .....???}"/>
<DataGridTextColumn Header="Customer" Binding="{Binding .....???}"/>
<DataGridTextColumn Header="Status" Binding="{Binding order_status}"/>
<DataGridTextColumn Header="Dateils" Binding="{Binding order_dateils}"/>
<DataGridTextColumn Header="Order Date" Binding="{Binding order_date}"/>
</DataGrid.Columns>
我在评论中概述了这个想法,这是一个具体的例子:
并在资源中声明:
类型
Nullable<int>和名称空间的细微差别由您决定 :) 但这个想法是可行的。更新
原版搬家写的,忘记converter_parameter不是dependency了。因此,最有效的选择是像本例中那样进行多重绑定。最快的选择是简单地将项目本身接受到转换器中,其属性显示在单元格中。
也就是说,我们这样绑定:
我们像这样在转换器中获取工作材料: