C# 未在DataGrid的WPF ui上呈现CSV数据
我是C#的新手, CSV数据未在DataGrid的WPF ui上呈现,我从CSV获取数据,但无法在ui上显示,有人能帮我吗 下面是我的XAML代码-C# 未在DataGrid的WPF ui上呈现CSV数据,c#,wpf,csv,datagrid,wpfdatagrid,C#,Wpf,Csv,Datagrid,Wpfdatagrid,我是C#的新手, CSV数据未在DataGrid的WPF ui上呈现,我从CSV获取数据,但无法在ui上显示,有人能帮我吗 下面是我的XAML代码- <Window x:Class="SampleApp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xa
<Window x:Class="SampleApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SampleApp"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="825">
<DataGrid AutoGenerateColumns="True" Height="217" HorizontalAlignment="Left" Margin="73,33,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="707">
<DataGrid.Columns>
<DataGridTextColumn Header="Serials" Width="40" Binding="{Binding Serials}"></DataGridTextColumn>
<DataGridTextColumn Header="Number" Width="100" Binding="{Binding Number}"></DataGridTextColumn>
<DataGridTextColumn Header="InstalledCode" Width="100" Binding="{Binding InstalledCode}"></DataGridTextColumn>
<DataGridTextColumn Header="InstalledTime" Width="100" Binding="{Binding InstalledTime}"></DataGridTextColumn>
<DataGridTextColumn Header="Location" Width="100" Binding="{Binding Location}"></DataGridTextColumn>
<DataGridTextColumn Header="Site" Width="40" Binding="{Binding Site}"></DataGridTextColumn>
<DataGridTextColumn Header="UUID" Width="40" Binding="{Binding UUID}"></DataGridTextColumn>
<DataGridTextColumn Header="Uninstalled" Width="100" Binding="{Binding Uninstalled}"></DataGridTextColumn>
<DataGridTextColumn Header="Notes" Width="100" Binding="{Binding Notes}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Window>
更新2:
我的Csv文件是
10,20,30,40,50,60,70,80
1,2,3,4,5,6,7,8
有人能帮我将数据从csv填充到WPF Ui吗?您没有在那里设置DataGrid.ItemsSource 如果DataContext设置为DataTable,则可以通过xaml中的绑定设置ItemsSource:
ItemsSource="{Binding Path=DefaultView}"
或者,设置项目来源代码:
dataGrid1.ItemsSource = data.DefaultView;
您没有在那里设置DataGrid.ItemsSource 如果DataContext设置为DataTable,则可以通过xaml中的绑定设置ItemsSource:
ItemsSource="{Binding Path=DefaultView}"
或者,设置项目来源代码:
dataGrid1.ItemsSource = data.DefaultView;
您的代码实际上不是试图显示CSV数据,而是从CSV文件创建的数据表。也就是说,我认为您需要设置
dataGrid1.ItemsSource=data代码>而不是DataContext-有关绑定到datatable的各种方法,请参阅本文。您的代码实际上不是试图显示CSV数据,而是从CSV文件创建的数据表。也就是说,我认为您需要设置dataGrid1.ItemsSource=data代码>而不是DataContext-有关绑定到datatable的各种方法,请参阅本文。只有第1行将获取数据,其余行为空。@当我尝试添加data.rows.Add(拆分行[1]);和data.Rows.Add(splitLine[2])。。。。etc类似,但数据附加在同一行(第1行)。你能告诉我为什么吗?@SharathkumarKG,我看不出你的代码有任何明显的问题。我建议您在调试中检查从文件中获得的行数,以及它们包含的值。对于taskMy csv文件来说,可能也是一种更简单的方法。添加csv文件时,splitLine[1]从csv文件中获取10和1。同样,splitLine[2]从csv文件中获取20和2。只有第一行将获取数据,其余行为空。@ash当我尝试添加data.rows.Add(splitLine[1]);和data.Rows.Add(splitLine[2])。。。。etc类似,但数据附加在同一行(第1行)。你能告诉我为什么吗?@SharathkumarKG,我看不出你的代码有任何明显的问题。我建议您在调试中检查从文件中获得的行数,以及它们包含的值。另外,添加taskMy csv文件可能更简单,splitLine[1]从csv文件中获取10和1,同样splitLine[2]从csv文件中获取20和2