DataTable in WPF DataGrid einfügen



  • Hallo,

    ich möchte über Schleifen von einer DataTable den Inhalt in ein DataGrid einfügen.

    Folgender Code (dG_erg_table ist die DataGrid) :

    DataTable erg_datatable = db_abfragen_pauf_fauf_arbplz(arbeitsplnr);
    
                    for (int i = 0; i < erg_datatable.Columns.Count; i++)
                    {
                        Console.WriteLine(erg_datatable.Columns[i].ColumnName);
                        dG_erg_table.Columns[i].name //<-- Da möchte ich den Spaltennamen erg_datatable.Columns[i].ColumnName zuweisen
    
                    }
                    foreach (DataRow row in erg_datatable.Rows)
                    {
                        foreach (DataColumn column in erg_datatable.Columns)
                        {
                            //Console.WriteLine(row[column]);
                        }
    
                    }
    

    Die eigentliche Tabelle zu füllen ist kein Problem. Aber wie weise ich die Spaltennamen zu? dG_erg_table.Columns[i].name gibt es leider nicht in wpf.

    Wäre super wenn mir wer helfen könnte.

    Gruß
    Gustl



  • Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C# und .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Administrator

    http://msdn.microsoft.com/en-us/library/system.windows.forms.datagrid.datasource.aspx

    The following data sources are valid:
    A DataTable
    ...

    Grüssli



  • Hallo,

    ja, das habe ich schon probiert. Das Grid ist dann auch gefüllt, nur bekomme ich dann debugfehler beim zb. scrollen des Grids. Deshalb wollte ich die Spaltennamen und Datensätze extra zuweisen und es somit probieren.

    Danke.
    Gruß


  • Administrator

    Gustl schrieb:

    ja, das habe ich schon probiert. Das Grid ist dann auch gefüllt, nur bekomme ich dann debugfehler beim zb. scrollen des Grids. Deshalb wollte ich die Spaltennamen und Datensätze extra zuweisen und es somit probieren.

    Sag uns lieber, was das für ein Debugfehler ist. Sowas sollte nämlich problemlos funktionieren. Alles andere wir nur unnötig kompliziert.

    Grüssli



  • Hallo, ok, folgende Errors im Ausgabefeld beim scrollen des DataGrids:

    System.Windows.Data Error: 40 : BindingExpression path error: 'PAUF_2017-8' property not found on 'object' ''DataRowView' (HashCode=41105570)'. BindingExpression:Path=PAUF_2017-8 ; DataItem='DataRowView' (HashCode=41105570); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')

    Ich habe ein laaanges SQL-Statement, welches ich über den SqlDataReader einlese.
    Diesen tue ich dann in ein DataTable:

    dbReader = dbCommand.ExecuteReader();
    DataTable dt = new DataTable();
    dt.Load(dbReader);
    

    und die DataTable dann in das DataGrid:

    dG_erg_table.ItemsSource = dt.DefaultView;
    

    Edit:
    Die Spalte PAUF_2017-8 wird im DataGrid nicht angezeigt. Aber wenn ich meine Abfrage, mit dem gleichen SQL-Statement, über SQL Server Management Studio Express tätige, wird diese Spalte mit Inhalt gefüllt. Aber nicht immer, manchmal auch mit NULL. Liegt da vielleicht das Problem mit dem DataGrid?


Anmelden zum Antworten