添加从SQL数据库中的数据的DataGrid C#WPF MVVM

添加从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,但它无法正常工作。

+0

试试这个http://*.com/a/21955956/2470530 – caner

using (var sqlCom = new MySqlCommand(agentsQuery, Connect.Connection)) 
       { 
        sqlCom.ExecuteNonQuery(); 
        var dt = new DataTable(); 
        var dataAdapter = new MySqlDataAdapter(sqlCom); 
        dataAdapter.Fill(dt); 
        MyData = dt; 

       } 

这是行得通的!