首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于dataGridView显示数据的有关问题

2012-04-07 
关于dataGridView显示数据的问题这个项目中涉及到两张表联查 sql语句:select Teacher.name,Teacher.age,Te

关于dataGridView显示数据的问题
这个项目中涉及到两张表联查 sql语句:select Teacher.name,Teacher.age,Teacher.teachYear,Grade.GradeName from Teacher inner join Grade on Teacher.gradeId = Grade.GradeId  

我在实体类中的 Teacher类添加了一个Grade类型的字段和属性 在构造中new了一下 如下:

C# code
public Teacher(string name,int age ,int teachYear,string greadName)       {           this.Name = name;           this.Age = age;           this.TeachYear = teachYear;           this.Gread = new Grade();           Gread.GreadName = greadName;       }

查出来后  
C# code
           while (read.Read())           {               Teacher teacher = new Teacher();               teacher.Name = Convert.ToString(read["name"]);               teacher.Age = Convert.ToInt32(read["age"]);               teacher.TeachYear = Convert.ToInt32(read["teachYear"]);               teacher.Gread.GreadName = Convert.ToString(read["GradeName"]);               list.Add(teacher);            } 

返回list
这时候 lisi所包含的数据


返回到UI我直接
  dataGridView1.AutoGenerateColumns = false;
  dataGridView1.DataSource = list;
然后在控件上给DataPropertyName赋值 但是 年级的那个值(GradeName)怎么也显示不出来 
怎么才能dataGridView显示 实体类中其他类型的属性呢



[解决办法]
直接用DataTable绑定。。。
[解决办法]
探讨

直接用DataTable绑定。。。

[解决办法]
根据LZ描述
因为 dataGridView1.DataSource = list;
所以 dataGridView 显示出了list的数据
第一列 list.Name 然后是Age ,TeachYear 
没显示出来的那一列绑定的 是Gread,而不是Gread.GradeName.

如2,3楼所即讲,为何不做一个DataTable呢
或者直接在Teacher理直接 定义一个 类似Name,age,TeachYear 之类的变量

热点排行