这是我的代码。它生成具有正确行数的绑定网格,但单元格为空 。
XAML
<DataGrid
Name="grid"
ItemsSource="{Binding}"
AutoGenerateColumns="True" />
代码背后
grid.DataContext = cn.Query("select * from SomeTable");
从文档中 ,你的语法cn.Query("sql")
- 返回一个动态类型对象列表( IEnumerable<dynamic>
)。这对于DataGrid自动列不起作用,后者查找具体成员生成其列。我建议为SomeTable创建一个简单的实体类来映射属性,然后使用cn.Query<SomeTableEntity>("select * from SomeTable");
。
如果使用非泛型版本的Query,则返回数据的动态表示。动态API不适合大多数UI数据绑定。最好使用通用Query<T>
API将数据加载到具有已定义属性的类型中。
完全推动 ,理论上也可以在数据上实现ITypedList并相应地公开属性。但这并没有太大的收获。