如何在c#的DataRow或GridView中以逗号分隔的文本文件中显示文本

本文关键字:文本 显示 分隔 文件 GridView DataRow | 更新日期: 2023-09-27 18:10:04

我用c#创建了一个应用程序。我想在DataRow或GridView中以逗号分隔的文本文件中显示文本。

我使用这个代码来显示列表框中的文本

private void button1_Click(object sender, EventArgs e)
{
    var file = File.OpenText("C:''File.txt"); 
    string line;
    bool flag = true;
    while ((line = file.ReadLine()) != null)
    {
        listBox1.Items.Add(new { srno= line, Date= "descr", Time= DateTime.Now ,symbol = Symbol  });
    }
}

但是别人看不懂它在显示什么。我想显示如下内容

点击此链接https://i.stack.imgur.com/LEmdz.jpg

如果有人能帮助我,我将不胜感激。

如何在c#的DataRow或GridView中以逗号分隔的文本文件中显示文本

傻我看起来这是WinForms不是asp.net。有重新贴标签。那我就把这个留给别人吧。

你要把文件交给DataTable。在http://www.akamarketing.com/blog/256-csv-datatable.html

有一个很好的例子

这更像是一种通用的方法。

这是一个未经测试的例子,你可以试着完成。

DataTable dataTable = new DataTable();
dataTable.Columns.Add("Srno");
dataTable.Columns.Add("Date");
dataTable.Columns.Add("Time");
dataTable.Columns.Add("Symbol");
while ((line = file.ReadLine()) != null)
{
    DataRow row = dataTable.NewRow();
    string[] s =  line.Split(',');
    row["Srno"] = s[0];
    row["Date"] = s[1];
    row["Time"] = s[2];
    row["Symbol"] = s[3];
}
//Add to your GridView that is in your aspx file
gridView.DataSource = dataTable;
gridView.DataBind();

定义一个类(比如Foo),它有四个公共properties——srno、Date、Time和symbol。使用String.Split方法解析逗号分隔的字符串,构造一个Foo类的对象,并将其附加到List<Foo>。最后将List<Foo>对象绑定到GridView控件。

演示:

public class Foo
{
  public string SrNo {get;set;}
  public string Date {get;set;}
  public string Time {get;set;}
  public string Symbol {get;set;}
}
List<Foo> list=new List<Foo>();
while ((line = file.ReadLine()) != null)
{
    string []ar = line.Split(',');
    list.Add(new Foo()
       {
         SrNo=ar[0],
         Date=ar[1],
         Time=ar[2],
         Symbol=ar[3]
       });
}
//Bind the list
dataGridView1.DataSource=list;