C# 读取文本内容,在Dev控件中显示数据

读取数据报文的内容,以下为需要读取的文本数据示例。

库存管理-库存事务历史
事务ID 事务日期 商品编码
218478806 2011-04-14 2100325K0094
218478808 2011-04-14 2100325K0150
218478810 2011-04-14 2100325K0145
218478812 2011-04-14 2100325K0131
218478814 2011-04-14 2100328K0066
文本是以‘\t’为分隔符。

FrmReaderFile.cs代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;

namespace sms
{
    public partial class FrmReaderFile : Form
    {
        public FrmReaderFile()
        {
            InitializeComponent();
          
        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
           //以下用循环产生列?
            dt.Columns.Add("事物ID");
            dt.Columns.Add("事物日期");
            dt.Columns.Add("商品编码");
            dt.Columns.Add("4");
            dt.Columns.Add("5");
            dt.Columns.Add("6");

string strFilePath = @"E:/数据报文.txt"; if (!File.Exists(strFilePath)) { MessageBox.Show("未找到文本文件!","提示",MessageBoxButtons.OK,MessageBoxIcon .Error); return; } else { FileStream fs = new FileStream(strFilePath, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312")); string strLine = sr.ReadLine(); int count =0; while (strLine != null) { string[] strArry = strLine.Split('\t'); DataRow dr = dt.NewRow(); for (int i = 0; i <= strArry.Length - 1; i++) { dr[i] = strArry[i]; } dt.Rows.Add(dr); strLine = sr.ReadLine(); } sr.Close(); fs.Close(); gridControl1.DataSource = dt; } } }

示例运行效果:

问题1,我只要读取第三行以后额数据并显示,如何?

问题2,怎样将第二行的数据读取,并作为列名?

正在进行修改,优化。如果有什么好的建议,留言与我:f35j10@163.com,谢谢。

作者:十一_x
         
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议
原文地址:https://www.cnblogs.com/shiyix/p/2024108.html