datagridview編輯列時,對於類中類的屬性綁定,嘗試了一下”類名.屬性名“ 並沒有正確綁定,後又嘗試了幾次無果,只能利用Linq來解決了, 首先,datagridview要綁定的是學生類(Student),而學生類里有老師類(Teacher) 正常是這樣:datagridview.Datas ...
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綁定。