C# 为什么我的数据网格中的每个单元格都显示;System.Data.DataRowView“;而不是实际数据?(WPF)
我正在尝试将csv读入我的数据网格。我需要做的就是获取csv并将其放入数据网格中。这是我找到的C#: 然后:C# 为什么我的数据网格中的每个单元格都显示;System.Data.DataRowView“;而不是实际数据?(WPF),c#,wpf,datatable,datagrid,C#,Wpf,Datatable,Datagrid,我正在尝试将csv读入我的数据网格。我需要做的就是获取csv并将其放入数据网格中。这是我找到的C#: 然后: dgvInventory.ItemsSource = CreateDataSource(); 在我的XAML中: <DataGrid x:Name="dgvInventory" ItemsSource="{Binding}" Grid.Column="1" Margin="0" Grid.Row=&q
dgvInventory.ItemsSource = CreateDataSource();
在我的XAML中:
<DataGrid x:Name="dgvInventory" ItemsSource="{Binding}" Grid.Column="1" Margin="0" Grid.Row="1" BorderBrush="{x:Null}" Background="#FF0B123F" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding}" Header="ID"/>
<DataGridTextColumn Binding="{Binding}" Header="Type"/>
<DataGridTextColumn Binding="{Binding}" Header="Brand"/>
<DataGridTextColumn Binding="{Binding}" Header="Line"/>
</DataGrid.Columns>
</DataGrid>
此操作的输出是显示“System.Data.DataRowView”的每个单元格,而不是实际数据。
如何使数据网格显示正确的数据?列绑定必须使用相应的属性路径:
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding ID}" Header="ID"/>
<DataGridTextColumn Binding="{Binding Type}" Header="Type"/>
<DataGridTextColumn Binding="{Binding Brand}" Header="Brand"/>
<DataGridTextColumn Binding="{Binding Line}" Header="Line"/>
</DataGrid.Columns>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding ID}" Header="ID"/>
<DataGridTextColumn Binding="{Binding Type}" Header="Type"/>
<DataGridTextColumn Binding="{Binding Brand}" Header="Brand"/>
<DataGridTextColumn Binding="{Binding Line}" Header="Line"/>
</DataGrid.Columns>
private IEnumerable CreateDataSource()
{
var CSVDataBase = ...
return File.ReadLines(CSVDataBase).Select(
line =>
{
var items = line.Split(',');
return new
{
ID = int.Parse(items[0]),
Type = items[1],
Brand = items[2],
Line = items[3]
};
});
}