添加从SQL数据库中的数据的DataGrid C#WPF MVVM
问题描述:
我连接到SQL数据库,并试图填补在DataGrid中收到的数据表,但数据网格是空添加从SQL数据库中的数据的DataGrid C#WPF MVVM
在我的ViewModel我有:
数据表:
private DataTable _myData;
public DataTable MyData
{ get => _myData;
set=> UpdateValue(value, ref _myData);
}
连接方法:
var connStr = new StringBuilder();
const string agentsQuery =
"select CONCAT(users.last_name, ' ', users.first_name) as Agent from users where users.valid_id = 1 group by users.id";
connStr.AppendFormat("server={0};user={1};database=otrs;password={2}",
Connect.IP,
Connect.User,
Connect.Password);
Connect.Connection = new MySqlConnection(connStr.ToString());
Connect.Connection.Open();
using (var sqlCom = new MySqlCommand(agentsQuery, Connect.Connection))
{
sqlCom.ExecuteNonQuery();
var dataAdapter = new MySqlDataAdapter(sqlCom);
dataAdapter.Fill(_myData);
}
XAML代码:
<DataGrid ItemsSource="{Binding Path=MyData}"
AutoGenerateColumns="True">
</DataGrid>
连接正在工作。 我试图加载数据到列表并绑定到组合框,一切都OK。此外,我试图将List和ObservableCollection绑定到DataGrid,但它无法正常工作。
答
using (var sqlCom = new MySqlCommand(agentsQuery, Connect.Connection))
{
sqlCom.ExecuteNonQuery();
var dt = new DataTable();
var dataAdapter = new MySqlDataAdapter(sqlCom);
dataAdapter.Fill(dt);
MyData = dt;
}
这是行得通的!
试试这个http://stackoverflow.com/a/21955956/2470530 – caner