2 回答
TA贡献1796条经验 获得超10个赞
这个怎么样:
public async Task<DataTable> GetDataTable()
{
var dataTable = new DataTable("Students");
using (var conn = await DbContext.GetConnection())
{
var da = new SQLiteDataAdapter(GET_ALL_QUERY, conn);
da.Fill(dataTable);
conn.Close();
}
return dataTable;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
var repo = new StudentsRepository();
var res = repo.GetDataTable();
DataGrid1.ItemsSource = res.Result.AsDataView();
}
希望这有帮助~
更新:抱歉,函数返回类型是任务,因此它不是实际数据,这样做:res.Result.AsDataView();
TA贡献1856条经验 获得超11个赞
在您的 DataGrid 集上:
AutoGenerateColumns="False"
然后改变:
DataGrid1.ItemsSource = dt.DefaultView
到:
DataGrid1.DataContext = dt.DefaultView
在 WPF 中,将绑定与您定义的列一起使用需要您设置 DataContext 而不是 ItemSource。就我个人而言,在从数据库中提取数据并在 DataGrid 中显示数据时,我一直使用 .ToList(),因此我无法就 DataTable 对您的其余代码发表评论。
- 2 回答
- 0 关注
- 376 浏览
添加回答
举报