C# Load CSV into DataGrid
So I have a CSV file:
Header1,Header2,Header3,Header4
Data11,Data12,Data13,Data14
Data21,开发者_如何转开发Data22,Data23,Data24
Data31,Data32,Data33,Data34
Data41,Data42,Data43,Data44
and a DataGrid
in an WPF project. I cannot, for the life of me, get it to import. What I was trying to do before was add all the columns (Header1
, Header2
, Header3
, Header4
) then add the rows... but there didn't seem to be any way to add rows. So I tried using ItemSource
... but no luck.
So... how do I import a CSV file into a System
.Windows
.Controls
.DataGrid
UPDATE
So I tried this:
DataTable table = CSVReader.ReadCSVFile(fileName, true);
dataGrid.ItemsSource = table.DefaultView;
And it seems to work... somewhat:
UPDATE 2
So after turning on AutoGenerateColumns
, everything worked perfectly.
Take a look at this library. It lets you convert any CSV into an object of type DataTable and bind that to the DataGrid like this:
DataTable table = CSVReader.ReadCSVFile(fileName, true);
myGridView.ItemSource = table.DefaultView;
myGridView.AutoGenerateColumns = true;
If you already have parsed your CSV into a table, just bind the ItemSource
to the table's DefaultView
property and set AutoGenerateColums
to true
精彩评论