C # Загрузка CSV в DataGrid - PullRequest
       2

C # Загрузка CSV в DataGrid

3 голосов
/ 03 марта 2011

Итак, у меня есть CSV-файл:

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

и DataGrid в проекте WPF.Я не могу, ради моей жизни, заставить его импортировать.То, что я пытался сделать раньше, это добавить все столбцы (Header1, Header2, Header3, Header4), затем добавить строки ... но, похоже, не было никакого способа добавить строки.Поэтому я попытался использовать ItemSource ... но не повезло.

Итак ... как мне импортировать файл CSV в System. Windows. Controls. DataGrid

ОБНОВЛЕНИЕ

Итак, я попробовал это:

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

И, похоже, работает ... несколько: The Rows show up, but no columns or content

ОБНОВЛЕНИЕ 2

Так что после включения AutoGenerateColumns все заработало отлично.

1 Ответ

6 голосов
/ 03 марта 2011

Взгляните на эту библиотеку .Он позволяет вам преобразовать любой CSV в объект типа DataTable и связать его с DataGrid следующим образом:

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

Если вы уже проанализировали CSV в таблице, просто привяжите ItemSource к таблице.DefaultView свойство и установите AutoGenerateColums в true

...