C# Winform DataGridView绑定数据源的类型

言多必失 2013-10-18 05:28:37
现在用List<T>对数据表格绑定数据。

但是T现在很特殊,现在举例如下:

public class Student
{
string name;

int age;
/// <summary>
/// 年龄
/// </summary>
public int Age
{
get { return age; }
set { age = value; }
}

decimal height;
/// <summary>
/// 学生身高
/// </summary>
public decimal Height
{
get { return height; }
set { height = value; }
}

int sex;
/// <summary>
/// 0表示男生,1表示女生 ,其他表示未知
/// </summary>
public int Sex
{
get { return sex; }
set { sex = value; }
}

object bo;
/// <summary>
/// 其他对象
/// </summary>
public object Bo
{
get { return bo; }
set { bo = value; }
}
}


bo也是一个对象,bo的对象不确定,比如是A对象,B对象。

现在要把A对象的属性也显示到表格里面去。






...全文
266 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
再来壹串 2013-10-21
  • 打赏
  • 举报
回复
楼主牛逼了
言多必失 2013-10-21
  • 打赏
  • 举报
回复
200分,你两运气好,平均分算了。
言多必失 2013-10-21
  • 打赏
  • 举报
回复
还没有人回答,已经解决了。
言多必失 2013-10-21
  • 打赏
  • 举报
回复
怎么没有人回答呢..............
言多必失 2013-10-21
  • 打赏
  • 举报
回复
没有人回答.......
熙风 2013-10-21
  • 打赏
  • 举报
回复
怎么解决的,分享下
熙风 2013-10-21
  • 打赏
  • 举报
回复
Bo对象里面属性绑定在dgv上面才会显示数据的 stu.Age = 16; stu.Height = 167; stu.Sex = 0; 但是你这几个应该会显示啊
拥抱开源 2013-10-21
  • 打赏
  • 举报
回复
要是分的话带我分一个啊 谢谢啦
hr_3773 2013-10-21
  • 打赏
  • 举报
回复
好可怕的楼主 不懂帮顶
Regan-lin 2013-10-18
  • 打赏
  • 举报
回复
以前我弄过这个,不过那时候我就是把结构的数据丢到datatabale来封装在绑定,先Mark下,看看人家怎么弄
言多必失 2013-10-18
  • 打赏
  • 举报
回复
其实 等价月两个类动态合并属性。
言多必失 2013-10-18
  • 打赏
  • 举报
回复
具体举个例子:


  public List<Student> InitClassData()
        {
            List<Student> list = new List<Student>();
            Student stu = new Student();
            stu.Age = 16;
            stu.Height = 167;
            stu.Sex = 0;

            ClassRoom add = new ClassRoom();
            add.ClassName = "软件01";
            stu.Bo = add;

            ClassRoom add1 = new ClassRoom();
            add1.ClassName = "软件02";
            Student stu1 = new Student();
            stu1.Age = 12;
            stu1.Height = 141;
            stu1.Sex = 0;

            stu1.Bo = add1;
            list.AddRange(new Student[] { stu, stu1 });

            return list;
        }

        public List<Student> InitAddressData()
        {
            List<Student> list = new List<Student>();
            Student stu = new Student();
            stu.Age = 16;
            stu.Height = 167;
            stu.Sex = 0;
            Address add = new Address();
            add.City = "北京";
            stu.Bo = add;

            Address add1 = new Address();
            add1.City = "上海";
            Student stu1 = new Student();
            stu1.Age = 12;
            stu1.Height = 141;
            stu1.Sex = 0;
            stu1.Bo = add1;
            list.AddRange(new Student[] { stu, stu1 });
            return list;
        }
private void TestForm_Load(object sender, EventArgs e) { //CreateData(); // InitData(InitClassData(), dataGridView1); InitData(InitAddressData(), dataGridView1); } public void InitData(List<Student> list, DataGridView dgv) { //创建列..... //dgv.DataSource = list; } 通过反射可以创建Student bo对应所有的列,但是数据显示不了。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧