2017-07-31 4 views
0

Xaml:1つ以上のレコードを含む2番目のDataGridをバインドする方法を理解できません。EntityFrameworkを使用してDataGrid内でDataGridをバインドする

<DataGrid Name="lstPurchaseDataGrid" Visibility="Visible" AutoGenerateColumns="False" Margin="20,0,20,0" IsReadOnly="True" materialDesign:DataGridAssist.CellPadding="4 2 2 2" materialDesign:DataGridAssist.ColumnHeaderPadding="4 2 2 2" ItemsSource="{Binding}"> 
         <DataGrid.Columns> 
          <DataGridTextColumn Header="Purchase Id" Width="100" Binding="{Binding ID}"/> 
          <DataGridTextColumn Header="Vendor Name" Width="2*" Binding="{Binding Vendor.Name}"/> 
          <DataGridTextColumn Header="Parts Amount" Width="100" Binding="{Binding SubTotal}"/> 
          <DataGridTextColumn Header="Discount" Width="100" Binding="{Binding Discount}"/> 
          <DataGridTextColumn Header="Total Amount" Width="120" Binding="{Binding GrandTotal}"/> 
          <DataGridTextColumn Header="Purchase Date" Width="100" Binding="{Binding PurchaseDate, StringFormat=d}" /> 
          <DataGridTextColumn Header="Created On" Width="100" Binding="{Binding CreatedOn}" /> 
          <DataGridTextColumn Header="Status" Width="100" Binding="{Binding Status}" /> 
         </DataGrid.Columns> 
         <DataGrid.RowDetailsTemplate> 
          <DataTemplate> 
           <DataGrid AutoGenerateColumns="False" x:Name="lstDetailsDataGrid" IsReadOnly="False" ItemsSource="{Binding PurchaseInfoes}"> 
            <DataGrid.Columns> 
             <DataGridTextColumn Binding="{Binding Path=Id}" Header="Part Id" /> 
             <DataGridTextColumn Binding="{Binding Path=Part.PartNo}" Header="Part No" /> 
             <DataGridTextColumn Binding="{Binding Path=Part.Name}" Header="Name" /> 
             <DataGridTextColumn Binding="{Binding Path=Quantity}" Header="Quantity" /> 
             <DataGridTextColumn Binding="{Binding Path=CGST}" Header="CGST" /> 
             <DataGridTextColumn Binding="{Binding Path=SGST}" Header="SGST" /> 
             <DataGridTextColumn Binding="{Binding Path=Discount}" Header="Discount" /> 
             <DataGridTextColumn Binding="{Binding Path=Total}" Header="Total" /> 
            </DataGrid.Columns> 
           </DataGrid> 
          </DataTemplate> 
         </DataGrid.RowDetailsTemplate> 
        </DataGrid> 

C位 lstPurchaseDataGrid.Items.Clear()。

  var purchaseList = (from purchases in dt.Purchases.Include("Vendor") 
           select purchases).ToList(); 
      lstPurchaseDataGrid.ItemsSource = purchaseList; 

C#購入クラスコード

パブリックパーシャルクラス購入 {[System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Usage"、 "CA2214:DoNotCallOverridableMethodsInConstructors")] パブリック購入() { this.PurchaseInfoes = new HashSet(); this.PurchasePayDetails = new HashSet(); }

public int ID { get; set; } 
    public int VendorID { get; set; } 
    public decimal SubTotal { get; set; } 
    public decimal Discount { get; set; } 
    public decimal GrandTotal { get; set; } 
    public string Status { get; set; } 
    public System.DateTime PurchaseDate { get; set; } 
    public string InvoiceNo { get; set; } 
    public string Note { get; set; } 
    public System.DateTime CreatedOn { get; set; } 
    public string CreatedBy { get; set; } 
    public Nullable<System.DateTime> UpdatedOn { get; set; } 
    public string UpdatedBy { get; set; } 
    public Nullable<decimal> RemainingPayment { get; set; } 

    public virtual Vendor Vendor { get; set; } 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
    public virtual ICollection<PurchaseInfo> PurchaseInfoes { get; set; } 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
    public virtual ICollection<PurchasePayDetail> PurchasePayDetails { get; set; } 
} 
+0

は多分あなたにも熱心な負荷購入に必要な' dt.Purchases.Include? ( "PurchaseInfoes")Include( "PurchaseInfoes")。( "PurchaseInfoes")Include( "PurchaseInfoes")。購入時点でnullになった瞬間、購入リスト – ASh

+0

var purchaseList = dt.Purchases.Include 購入を選択).ToList();まだ動作していません..! –

答えて

0

第2グリッドに結合しながら、私は、パスを除去した後、それが完璧に動作し、パスを追加しました。前

バインディング= "{バインディングパス=同上}" 後バインディング= "{IDバインディング}

関連する問題