C#将CSV加载到DataGrid中

时间:2011-03-03 15:18:25

标签: c# wpfdatagrid

所以我有一个CSV文件:

    Header1,Header2,Header3,Header4
    Data11,Data12,Data13,Data14
    Data21,Data22,Data23,Data24
    Data31,Data32,Data33,Data34
    Data41,Data42,Data43,Data44

和WPF项目中的DataGrid。我不能,为了我的生活,让它进口。我之前尝试做的是添加所有列(Header1Header2Header3Header4)然后添加行...但似乎没有以任何方式添加行。所以我尝试使用ItemSource ......但没有运气。

那么......如何将CSV文件导入SystemWindowsControlsDataGrid

更新

所以我尝试了这个:

    DataTable table = CSVReader.ReadCSVFile(fileName, true);
    dataGrid.ItemsSource = table.DefaultView;

似乎有点...... The Rows show up, but no columns or content

更新2

所以在打开AutoGenerateColumns之后,一切都运转良好。

1 个答案:

答案 0 :(得分:6)

看看this library。 它允许您将任何CSV转换为DataTable类型的对象,并将其绑定到DataGrid,如下所示:

DataTable table = CSVReader.ReadCSVFile(fileName, true);
myGridView.ItemSource = table.DefaultView;
myGridView.AutoGenerateColumns = true;

如果您已将CSV解析为表格,只需将ItemSource绑定到表格的DefaultView属性,然后将AutoGenerateColums设置为true