C# datagridview列綁定類中類的屬性


原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。 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綁定。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM