Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未在DataGrid的WPF ui上呈现CSV数据_C#_Wpf_Csv_Datagrid_Wpfdatagrid - Fatal编程技术网

C# 未在DataGrid的WPF ui上呈现CSV数据

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

我是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/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