c# - 使用文本文件在运行时填充 Gridview

标签 c# asp.net datatable

对于你们中的许多人来说,这似乎是一个简单的问题,但我想尝试做的是我正在使用 StreamReader(ASP.net 和 C#)在点击事件中读取文本文件读取那个文本文件我用','分隔符分割每一行然后它的每一部分我存储在Datatable的列然后将数据表绑定(bind)到我的gridview,我的问题是我已经写了代码但是我得到了这样的空 gridview

enter image description here
我使用 autogeneratecolumns="false"

从设计器创建的 Gridviews 列标题

我的代码是

protected void readfile_Click(object sender, EventArgs e)
{
    string line;
    DataTable dt = new DataTable();
    using (StreamReader sr = new StreamReader(@"D:\Temp\fileread\readtext.txt"))
    {
        while ((line = sr.ReadLine()) != null)
        {
            string[] parts = line.Split(',');
            dt.Rows.Add();
            for (int i = 0; i < parts.Length; i++)
            {
                dt.Columns.Add();
                dt.Rows[0][i] = parts[i];
                MyGridView.DataSource = dt;
                MyGridView.DataBind();
            }
        }
        sr.Close();
    }

我的文本文件有数据

1,1,4,2,"#",Description1
5,5,4,2,"#",Description2
3,3,6,3,"#",Description3
2,2,4,2,"#",Description4
4,5,4,2,"#",Description5

希望你明白我想问的问题。

最佳答案

这样的事情怎么样:

    protected void readfile_Click(object sender, EventArgs e)
    {
        DataTable table = new DataTable();
        table.Columns.Add("Row No.");
        table.Columns.Add("Col No.");
        table.Columns.Add("Width");
        table.Columns.Add("Height");
        table.Columns.Add("Image URL");
        table.Columns.Add("Description");

        using (StreamReader sr = new StreamReader(@"D:\Temp\fileread\readtext.txt"))
        {
            while (!sr.EndOfStream)
            {
                string[] parts = sr.ReadLine().Split(',');
                table.Rows.Add(parts[0], parts[1], parts[2], parts[3], parts[4], parts[5]);
            }
        }
        MyGridView.DataSource = table;
        MyGridView.DataBind();
    }

关于c# - 使用文本文件在运行时填充 Gridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13971165/

相关文章:

javascript - 使用 c# 表单从 javascript 设置服务器端文本

c# - 从另一个页面调用非静态方法

c# - 如何在 C#/ADO.NET 2.0 中获取使用 DataTable.NewRow() 创建的行?

postgresql - Postgres 按数组值排序

c# - 从帖子标题生成一个唯一的字符串,如 stackoverflow

c# - 合并列表并从两者中选择属性

c# - 如何使 Global.asax 引用 aspx 中声明的下拉列表?

c# - 如何在 C# 中表达 VB .NET "Aggregate Into"?

c# - 我怎样才能保护熵?

c# - 数据表的实体类