簡體   English   中英

如何在C#中將兩個數據源綁定到DataGrid

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM