我正在尝试将List<dynamic>
绑定到DataGridView DataSource属性。虽然编译时没有错误,但也没有显示任何列。
如果我预先创建列,我会显示要显示的行,但它们中没有数据。
简单地说,如何在我的DataGridView中正确使用List<dynamic>
对象?
如果我没记错的话,Dapper的动态查询会返回一个ExpandoObject
s集合,它允许您动态访问person.Name
等属性,但底层对象实际上并没有Name
属性。它使用运行时绑定从内部键/值字典中提取数据。由于DataGridView
的默认数据绑定使用反射来获取对象的属性,因此它不会找到从查询返回的列。
所以你有几个选择:
dynamic
DataGridView
中显示的列,而不是使用默认绑定。DataTable
的东西将动态结果转换为this answer。