DataGrid中的CSV /文本Wpf

 潇洒看不惯_185 发布于 2023-02-10 15:30

我似乎无法弄清楚如何在DataGrid中添加我的CSV文件.有人可以解释一下我的方法应该是什么吗?

假设我的csv文件中包含以下内容的CSV文件:

ID;Name;Age;Gender
01;Jason;23;Male
02;Lela;29;Female

真的需要一些帮助

1 个回答
  • 忘记DataTable基础的东西.这太可怕了.它不是强类型的,它会强迫你进行各种各样的"魔术串"黑客攻击.

    相反,创建一个适当的强类型数据模型:

    public class Person
    {
        public int Id { get; set; }
    
        public string Name { get; set; }
    
        public int Age { get; set; }
    
        public Gender Gender { get; set; }
    }
    
    public enum Gender
    {
        Male,
        Female
    }
    

    然后创建一个可以从文件加载数据的服务:

    public static class PersonService
    {
        public static List<Person> ReadFile(string filepath)
        {
            var lines = File.ReadAllLines(filepath);
    
            var data = from l in lines.Skip(1)
                       let split = l.Split(';')
                       select new Person
                       {
                           Id = int.Parse(split[0]),
                           Name = split[1],
                           Age = int.Parse(split[2]),
                           Gender = (Gender)Enum.Parse(typeof(Gender), split[3])
                       };
    
            return data.ToList();
        }
    }
    

    然后使用它来填充UI:

    public partial class Window2 : Window
    {
        public Window2()
        {
            InitializeComponent();
    
            DataContext = PersonService.ReadFile(@"c:\file.csv");
        }
    }
    

    XAML:

    <Window x:Class="WpfApplication14.Window2"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="Window2"  >
        <DataGrid AutoGenerateColumns="True"
                  ItemsSource="{Binding}"/>
    </Window>
    

    结果:

    在此输入图像描述

    2023-02-10 15:32 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有