我正在尝试使用 DataTable 填充 MVC Webgrid,该 DataTable 在后面的代码中构建,然后使用 AsEnumerable() 扩展方法进行枚举。
但是,当我调用 GetHtml 方法时,输出不是我所期望的,它由两列 HasErrors 和 RowError 组成,并且没有我定义的列。
我错过了什么吗?
DataTable table = new DataTable();
table.Columns.Add("I/Dia");
foreach (var item in Variations.Where(item => !table.Columns.Contains(item.CrossSectionalDiameter)))
{
table.Columns.Add(item.CrossSectionalDiameter);
}
foreach (var item in Variations)
{
var r = table.Rows.Add();
r["I/Dia"] = item.InternalDiameter;
r[item.CrossSectionalDiameter] = item.Price;
}
return table.AsEnumerable();
我有类似的问题。最后根据您的评论进行一些解决。
var result = new List<dynamic>();
foreach (DataRow row in table.Rows)
{
var obj = (IDictionary<string, object>)new ExpandoObject();
foreach (DataColumn col in table.Columns)
{
obj.Add(col.ColumnName, row[col.ColumnName]);
}
result.Add(obj);
}
var grid = new WebGrid(result)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)