2017-05-08 3 views
0

Ich bin zu der SQL-Datenbank verbinden und versuchen, Datagrid mit den empfangenen Datentabelle zu füllen, aber Datagrid ist leerhinzufügen Daten aus SQL-Datenbank Datagrid C# WPF MVVM

In meinem Viewmodel habe ich:

Datatable:

private DataTable _myData; 
public DataTable MyData 
{ get => _myData; 
    set=> UpdateValue(value, ref _myData); 
} 

Verbindungsmethode:

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-Code:

<DataGrid ItemsSource="{Binding Path=MyData}" 
      AutoGenerateColumns="True"> 
</DataGrid> 

Verbindung funktioniert. Ich habe versucht, Daten in List zu laden und an ComboBox zu binden, und alles ist in Ordnung. Außerdem habe ich versucht, List und ObservableCollection an DataGrid zu binden, funktioniert aber trotzdem nicht.

+0

versuchen Sie dies http://stackoverflow.com/a/21955956/2470530 – caner

Antwort

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; 

       } 

Das hat funktioniert!

Verwandte Themen