关于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绑定。。。
[解决办法]
[解决办法]
根据LZ描述
因为 dataGridView1.DataSource = list;
所以 dataGridView 显示出了list的数据
第一列 list.Name 然后是Age ,TeachYear
没显示出来的那一列绑定的 是Gread,而不是Gread.GradeName.
如2,3楼所即讲,为何不做一个DataTable呢
或者直接在Teacher理直接 定义一个 类似Name,age,TeachYear 之类的变量