Как отобразить текст в текстовом файле, разделенный запятыми, в потоке данных или представлении сетки в c#

#c# #winforms #csv #datagridview

#c# #winforms #csv #datagridview

Вопрос:

Я создал приложение на C #. Я хочу отобразить текст в текстовом файле, разделенный запятыми, в потоке данных или в 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  });
    }
}
  

Но другим не очень хорошо понимать, что он отображает.я хочу отобразить что-то вроде этого

проверьте эту ссылку http://i.stack.imgur.com/LEmdz.jpg

Было бы очень признательно, если бы кто-нибудь мог мне помочь.

Заранее спасибо.

Комментарии:

1. Вы встречали мистера Стринга? Разделить ?

2. я знаю метод разделения, но как я могу отобразить слова в gridview

Ответ №1:

Глупый я, похоже, что это 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();
  

Комментарии:

1. Вероятно, нет. Вы повторно отметили его как Winforms после того, как я опубликовал.

2. Это не я, но мне очень жаль, не могли бы вы, пожалуйста, дать мне код для winforms

3. Попробуйте переключить его на DataGridView для WinForms. Я не очень хорошо знаю Winforms. к сожалению

Ответ №2:

Определите класс (скажем Foo ), имеющий четыре общедоступных properties — srno, дату, время и символ. Используйте 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;
  

Комментарии:

1. @GmBasha — это веб-приложение или winform?