有点难以解释,但这里......(使用.net 4.5,C#)
我们目前有一个项目列表(如下所示" User"),其中包含列对象列表。即
public class TableColumn
{
public string ColumnHeader { get; set; }
public string ColumnValue { get; set; }
public int ColumnWidth { get; set; }
}
public class User
{
public string Username { get; set; }
public string Address1 { get; set; }
public int Age { get; set; }
public List<TableColumn> Columns { get; set; }
}
我们正在与JQGrid合作,我们需要传回Json。
没有嵌套列表我们会使用: -
var aaData = PatList.Select(d => new string[] {
d.Username ,
d.Address1 ,
d.Age}).ToArray();
return Json(new
{
sEcho = param.sEcho,
aaData = aaData,
iTotalRecords = Convert.ToInt32(totalRowsCount.Value),
iTotalDisplayRecords = Convert.ToInt32(filteredRowsCount.Value)
}, JsonRequestBehavior.AllowGet);
效果很好。
我们正在努力解决的问题是如何添加列列表。
var aaData = PatList.Select(d => new string[] {
d.Username ,
d.Address1 ,
d.Age,
d.Columns.forEach(????)}).ToArray();
因此列与用户相关。
希望这是有道理的。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以这样做:
var aaData = PatList.Select(d => (new string[] {
d.Username,
d.Address1,
d.Age.ToString()
}.Union(d.Columns.Select(c => c.ColumnHeader))).ToArray()
).ToArray();
这为User
PatList
数组Username, Address1, Age & all ColumnHeaders
中的每个{{1}}生成。