日期:2014-05-20  浏览次数:20728 次

急,有谁在winform中用DataGrid绑定业务实体对象.
public   class   MaterialInfo
{
        string   _id;
        string   _name;
       
        public   stirng   ID
        {
              get{....}
              set{....}
        }
       
        public   string   Name
        {
              get{....}
              set{....}
        }
}

public   class   A
{
        string   _id;
        MaterialInfo   _material;
       
        public   stirng   ID
        {
              get{....}
              set{....}
        }
       
        public   MaterialInfo   Material
        {
              get{....}
              set{....}
        }
}

在winform中如何绑定数据.
假设   A.ID=1;
          A.Material.ID   =   "00001 ";
          A.Material.Name   =   "物料名称 ";
如何将数据绑定到DataGrid或是DataGridView得到一行数据(1,00001,物料名称1).
DataGrid是否直接支持,如果支持怎么做。
要是不支持,有什么好的方法解决这个问题?



------解决方案--------------------
DataGridViewCell.Tag

可以将任何对象绑定


使用时转换回来就行
------解决方案--------------------
ArrayList al = new ArrayList();
al.add( "你的Class ");
...
你建一个DataGrid是可以这样的DataGrid.DataSource = al;或是等于你的Class数组.
------解决方案--------------------
没做过,能不能这样改变下思路...

public class A
{
string _id;
MaterialInfo _material;

public stirng ID
{
get{....}
set{....}
}

public MaterialInfo Material
{
set{....}//这里设置成只写
}

//另外增加两个只读属性
public string MaterialInforID
{
get{return _material.id;}
}
public string MaterialName
{
get{return _material.name;}
}
}

这样非嵌套的对象绑定,楼主应该知道...

------解决方案--------------------
写个函数转换成Table