这样就可以动态给datagridview提供数据,而不需要实现定义数据类
private static DataTable ConvertExpandoToTable(List<ExpandoObject> expandos) { DataTable table = new DataTable();
// 遍历第一个动态元素的所有属性,创建对应table列 foreach (var kvp in (IDictionary<string, object>)expandos[0]) { table.Columns.Add(kvp.Key, kvp.Value.GetType()); }
// 遍历列表,添加记录行 foreach (var expando in expandos) { table.Rows.Add(((IDictionary<string, object>)expando).Values.ToArray()); } return table; }