2017-05-08 55 views
0

我連接到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://stackoverflow.com/a/21955956/2470530 – caner

回答

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

       } 

這是行得通的!