如何将DataBind绑定到多个对象的组合数据?

时间:2011-10-15 15:59:08

标签: c# database object datagrid

我的数据库结构

汽车

-carid
-carname
-carmodle
-cartypeid
-carmakeid

CarType

-cartypeid
-cartypename

CarMake

-carmakeid
-carmakename

此数据库的基本模型将包含相同的类 比如car,make,类型与数据库表的每一列具有相同的属性;

如果我想绑定数据网格中的所有数据,我该怎么办... CarName,CarTypeName,CarMakeName ....

我该怎么办?编写一个包含所有属性的新类没有任何意义..你只能在类上继承所以不是那个...而且我是否必须更改数据记录层?

1 个答案:

答案 0 :(得分:1)

有几种方法:

  1. 将您的嵌套属性公开为第一级属性,并将第一级属性绑定到DataGridview。

    public class Car
    {
      public int CarID { get; set; }
      public string CarName { get; set; }
      public CarType CarType { get; set; }
      public Make CarMake { get; set; }
      // Expose CarTypeName as first-level property
      public string CarTypeName { get {return CarType.CarTypeName; }}
    }
    
    public class CarType
    {
      public int CarTypeID { get; set; }
      public string CarTypeName { get; set; }
    }
    
  2. 实施类似的to this.

  3. 实施类似的to this.