[英]C# Linq list with list in datagrid
我有一個包含字符串屬性的列表和另一個列表。 如何在數據網格中同時顯示字符串屬性和包含列表的屬性?
public class Main
{
public string Name { get; set; }
public List<Info> Info { get; set; }
}
public class Info
{
public string Info1 { get; set; }
public string Info2 { get; set; }
}
我希望我的數據網格顯示以下內容:
#Name #Info1 #Info2
name info1 info2
name info1 info2
提前非常感謝您。
如果可以更改Main
類,則靜態方法是在要公開的其他類中提供屬性的string
-properties:
public class Main
{
public string Name { get; set; }
public List<Info> Info { get; set; }
public string Info1 {
get {
return Info == null || Info.Count == 0 ? ""
: Info.Last().Info1;
}
}
public string Info2
{
get
{
return Info == null || Info.Count == 0 ? ""
: Info.Last().Info2;
}
}
}
其他方法:
您可以使用匿名類型:
this.dataGridView1.DataSource = mains .Select(m => new { m.Name, Info1 = m.Info.Last().Info1, Info2 = m.Info.Last().Info2, // add null or count=0 check here }).ToList();
如果要從“信息”列表中獲取每個主要項目的最后一條記錄,可以編寫:
var q = from m in mainList
let i = m.Info.LastOrDefault()
select new
{
m.Name,
Info1 = i == null ? null : i.Info1,
Info2 = i == null ? null : i.Info2,
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.