这个项目中涉及到两张表联查 sql语句:select Teacher.name,Teacher.age,Teacher.teachYear,Grade.GradeName from Teacher inner join Grade on Teacher.gradeId = Grade.GradeId 我在实体类中的 Teacher类添加了一个Grade类型的字段和属性 在构造中new了一下 如下: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;
}查出来后 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显示 实体类中其他类型的属性呢
{
this.Name = name;
this.Age = age;
this.TeachYear = teachYear;
this.Gread = new Grade();
Gread.GreadName = greadName;
}查出来后 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显示 实体类中其他类型的属性呢
2,你的list就是Teacher吗? 如果是的话,建议你直接改成
public Teacher()
{
string Name {get; set;};
...
}
这种类型, 然后对list赋值,绑定就可以了
因为 dataGridView1.DataSource = list;
所以 dataGridView 显示出了list的数据
第一列 list.Name 然后是Age ,TeachYear
没显示出来的那一列绑定的 是Gread,而不是Gread.GradeName.如2,3楼所即讲,为何不做一个DataTable呢
或者直接在Teacher理直接 定义一个 类似Name,age,TeachYear 之类的变量