将来自不同表的数据合并到一个Datagridview中

本文关键字:一个 Datagridview 合并 数据 将来 | 更新日期: 2023-09-27 17:49:18

条件:

    列表项
  1. 。net 2.0
  2. WinForms
  3. Nhibernate

我有两个类

public class Recipes
{
    public virtual int Id { get; set; }
    public virtual Products Product { get; set; }
    public virtual double Weight { get; set; }
}
public class Products
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
    public virtual Double Cost { get; set; }
}

我使用Nhibernate从数据库

加载数据
IList<Recipes> recipesList = DbSession.CreateCriteria(typeof(Recipes)).List<Recipes>();
IList<Products> productsList = DbSession.CreateCriteria(typeof(Products)).List<Products>();

我怎么能组合recipesList和productsList在一个数据视图与编辑的可能性?

将来自不同表的数据合并到一个Datagridview中

一种方法是创建ViewModel

public class ProductsRecipes
{
    public virtual int Id { get; set; }
    public virtual int ProductId { get; set; }
    public virtual string ProductName { get; set; }
    public virtual Double ProductCost { get; set; }
    public virtual double Weight { get; set; }
}

非常标准的方法是创建另一个类,如:

public class dgvRecipeProducts
{
  IList<Recipes> recipesList { get; set; }
  IList<Products> productsList { get; set; }
}

并使用它作为中介来填充视图,然后将其返回到后端,在那里您可以正确地操作它以镜像您的DB模型。