我正在使用 Rob Conery 的 Massive ORM,但无法绑定结果ExpandoObject
to a GridView
.
我确实发现了另一个 Stackoverflow 问题,建议使用一个名为 impromptu 的框架,但我不确定这是否适用于此。如果您知道,请提供一个代码示例来实际转换ExpandoObject
到某事GridView
控件可以绑定到。
最坏的情况,是否有人为 Massive 实现了额外的方法(可以共享)来转换结果ExpandoObject
到 POCO?
任何帮助是极大的赞赏。谢谢。
由于无法绑定到 ExpandoObject,因此可以将数据转换为 DataTable。这个扩展方法将为您做到这一点。我可能会将其提交到 Massive。
/// <summary>
/// Extension method to convert dynamic data to a DataTable. Useful for databinding.
/// </summary>
/// <param name="items"></param>
/// <returns>A DataTable with the copied dynamic data.</returns>
public static DataTable ToDataTable(this IEnumerable<dynamic> items) {
var data = items.ToArray();
if (data.Count() == 0) return null;
var dt = new DataTable();
foreach(var key in ((IDictionary<string, object>)data[0]).Keys) {
dt.Columns.Add(key);
}
foreach (var d in data) {
dt.Rows.Add(((IDictionary<string, object>)d).Values.ToArray());
}
return dt;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)