[英]How to bind two source of data into a datagrid in c#
我的問題如下:我有一個使用實體框架的“ salesTable”數據網格,我用以下代碼加載該數據網格:
salesDataGrid.ItemsSource = _db.salesTables.ToList();
salesTable的列之一是customerId,這是customerTable的外鍵,現在我想在數據網格中顯示customerName而不是customerId,但是我不知道如何。
salesTable如下:
public int saleId { get; set; }
public Nullable<int> customerId { get; set; }
public Nullable<System.DateTime> saleDate { get; set; }
public Nullable<int> invoiceId { get; set; }
public Nullable<decimal> total{ get; set; }
public virtual customerTable customerTable { get; set; }
public virtual fac fac { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Sale_Detail> Sale_Detail { get; set; }
請幫忙!
創建此ViewModel:
public class GridViewModel
{
public int SaleId { get; set; }
public string CustomerName { get; set; }
//other properties you want
}
然后在查詢中使用GridViewModel:
var result = _db.salesTables.Include(x => x.customerTable)
.Select(x => new GridViewModel()
{
SaleId = x.saleId,
CustomerName = x.customerTable.CustomerName
}).ToList();
最后:
salesDataGrid.ItemsSource = result;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.