gpt4 book ai didi

c# - 如何在 WPF 应用程序中将 MySQL 表绑定(bind)到数据网格

转载 作者:行者123 更新时间:2023-11-29 05:28:12 25 4
gpt4 key购买 nike

我遇到过很多次这个问题,但我似乎找不到满意的答案。我在 c# 中有一个 WPF 应用程序,它连接到远程 MySQL 数据库。我的目标是从数据库中选择一个表并将其呈现在数据网格中。但在此之后我希望能够打印选定的行(使用给定的报告定义文件)。所以我对一种填充数据网格(我知道需要 mysql 语句)而不在本地存储 mysql 表的方法很感兴趣,比如 ObservableCollection。我只想查看所需表中的内容,然后能够分别读取每条记录以填写模板(在 rdlc 文件中定义)。如何才能做到这一点?我在 MVVM 架构中。非常感谢!

最佳答案

我稍微更改了 DeMama 的答案以适应 MvvmLight 模式:

在您的 ViewModel 中:

1.声明一个属性:

private DataView tableFromMySql;
public DataView TableFromMySql
{
get { return tableFromMySql; }
set
{
if (tableFromMySql == value)
return;
tableFromMySql = value;
RaisePropertyChanged("TableFromMySql");
}
}

2.将 MySQL 表分配给此属性:

DataTable dt = new DataTable();

using (MySqlConnection Conn = new MySqlConnection(connectionStr))
{
Conn.Open();
string cmdStr = string.Format("{0} `{1}`", "SELECT * FROM", "yourtable");
using (MySqlCommand cmdSel = new MySqlCommand(cmdStr, Conn))
using (MySqlDataAdapter da = new MySqlDataAdapter(cmdSel))
da.Fill(dt);
}
TableFromMySql = dt.DefaultView;

在您看来:

TableFromMySql 绑定(bind)到 DataGrid 的 ItemsSource,然后您的表将在 DataGrid 中看到。

关于c# - 如何在 WPF 应用程序中将 MySQL 表绑定(bind)到数据网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17573243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com