现在用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对象的属性也显示到表格里面去。

解决方案 »

  1.   

    具体举个例子:
      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对应所有的列,但是数据显示不了。
      

  2.   

    以前我弄过这个,不过那时候我就是把结构的数据丢到datatabale来封装在绑定,先Mark下,看看人家怎么弄
      

  3.   

    Bo对象里面属性绑定在dgv上面才会显示数据的stu.Age = 16;
    stu.Height = 167;
    stu.Sex = 0;但是你这几个应该会显示啊