如何將Dapper查詢結果綁定到WPF DataGrid

.net c# dapper data-binding wpf

這是我的代碼。它生成具有正確行數的綁定網格,但單元格為空

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並相應地公開屬性。但這並沒有太大的收穫。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow