Как импортировать данные из txt файла в DataGridView?

Пример текстового файла:

ID Фильм Режиссер Тип Формат Жанр Количество
1 Крестный отец Коппола диск DVD Криминальная драма 5
code: #csharp
BinaryReader br = new BinaryReader(File.Open(".//2.txt", FileMode.Open));
            char[] bf = br.ReadChars(94); bf = new char[100];
            DataTable tb = new DataTable();
            tb.Columns.Add(new DataColumn("ID"));
            tb.Columns.Add(new DataColumn("Фильм"));
            tb.Columns.Add(new DataColumn("Режиссер"));
            tb.Columns.Add(new DataColumn("Тип"));
            tb.Columns.Add(new DataColumn("Формат"));
            tb.Columns.Add(new DataColumn("Жанр"));
            tb.Columns.Add(new DataColumn("Колличетсво"));
            bool flag = false;
            using (br)
            {
                for (int i = 0; ; )
                {
                    i = 0;
                    DataRow row = tb.NewRow();
                    for (int j = 0; ; j++)
                    {
                        try
                        {
                            bf[j] = br.ReadChar();
                            if (bf[j] == (char)13) break;
                        }
                        catch (IOException) { flag = true; break; }
                    }
                    string str = null;
                    while (!char.IsDigit(bf[i])) i++;
                    while (char.IsDigit(bf[i]))
                    {
                        str += bf[i];
                        i++;
                    }
                    row[0] = str; str = null;
                    while (!char.IsLetter(bf[i])) i++;
                    while (char.IsLetter(bf[i]) || char.IsSeparator(bf[i]))
                    {
                        str += bf[i];
                        i++;
                    }
                    row[1] = str; str = null;
                    while (!char.IsLetter(bf[i])) i++;
                    while (char.IsLetter(bf[i]) || char.IsSeparator(bf[i]))
                    {
                        str += bf[i];
                        i++;
                    }
                    row[2] = str; str = null;
                    while (!char.IsLetter(bf[i])) i++;
                    while (char.IsLetter(bf[i]) || char.IsSeparator(bf[i]))
                    {
                        str += bf[i];
                        i++;
                    }
                    row[3] = str; str = null;
                    while (!char.IsLetter(bf[i])) i++;
                    while (char.IsLetter(bf[i]) || char.IsSeparator(bf[i]))
                    {
                        str += bf[i];
                        i++;
                    }
                    row[4] = str; str = null;
                    while (!char.IsLetter(bf[i])) i++;
                    while (char.IsLetter(bf[i]) || char.IsSeparator(bf[i]))
                    {
                        str += bf[i];
                        i++;
                    }
                    row[5] = str; str = null;
                    while (!char.IsDigit(bf[i])) i++;
                    while (char.IsDigit(bf[i]))
                    {
                        str += bf[i];
                        i++;
                    }
                    row[6] = str; str = null;
                    tb.Rows.Add(row);
                    if (flag) break;
                }
            }
            dataGridView1.DataSource = tb;
            dataGridView1.Update();

автор: Levsha

Поделиться:

Похожие статьи: