将包含行和列的文本文档读入数据表,然后将数据表绑定到gridview

时间:2017-11-11 22:18:22

标签: c# gridview

我有一个看起来像这样的文本文件:

string string string string string
string string string string string
string string string string string
string string string string string
string string string string string

目标是将此信息导入gridview。并在Windows窗体应用程序中显示它。

到目前为止,我只能通过执行以下操作将信息转换为二维数组:

string input = File.ReadAllText("path to the file");

//counters
int i = 0;
int j = 0;

//initialize array
string[,] result = new string[5, 5];

//loop
foreach (var row in input.Split('\n'))
{
    j = 0;
    foreach (var column in row.Trim().Split(' '))
    {
        result[i, j] = column.Trim();
        j++;
    }
    i++;
}

将这个纳入gridview的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

将数据输入DataTable。请参阅以下代码:

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;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        const string FILENAME = @"c:\temp\test.txt";
        public Form1()
        {
            InitializeComponent();

            DataTable dt = new DataTable();
            dt.Columns.Add("Col A", typeof(string));
            dt.Columns.Add("Col B", typeof(string));
            dt.Columns.Add("Col C", typeof(string));
            dt.Columns.Add("Col D", typeof(string));
            dt.Columns.Add("Col E", typeof(string));

            StreamReader reader = new StreamReader(FILENAME);
            string inputLine = "";
            while((inputLine = reader.ReadLine()) != null)
            {
                string[] inputArray = inputLine.Split(new char[] { ' ' });
                dt.Rows.Add(inputArray);
            }

            dataGridView1.DataSource = dt;
        }
    }
}