原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章
原始出處 、作者信息和本聲明。否則將追究法律責任。
http://www.cnblogs.com/linghaoxinpian/p/5906374.html
datagridview編輯列時,對於類中類的屬性綁定,嘗試了一下”類名.屬性名“ 並沒有正確綁定,后又嘗試了幾次無果,只能利用Linq來解決了,
首先,datagridview要綁定的是學生類(Student),而學生類里有老師類(Teacher)
1 public class Student 2 { 3 public int Id; 4 public Teacher teacher; 5 } 6 7 public class Teacher 8 { 9 public string Name; 10 }
正常是這樣:datagridview.Datasource=List<Student>; 但是無法將列綁定 teacher.Name
1 // 2 List<Student> list=從某處得來的數據,比如數據庫 3 4 // datagridview.DataSource=list ; 此句改為如下 5 6 var list2=list.Select(s=>new {s.Id, teacher_name=s.teacher.Name}); //轉為匿名 7 8 datagridview.DataSource=list2.ToList(); 9 10
最后再將 需要綁定的那一列的綁定 名稱寫為:
teacher_name 。即可

為什要最后 ToList()?,因為,list2是 IEnumerable,是不能直接被datagridview綁定。
