Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
triatri3
6 / 6 / 8
Регистрация: 16.11.2016
Сообщений: 623
1

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

14.06.2019, 11:51. Просмотров 934. Ответов 10
Метки нет (Все метки)

Если таблица с колонками
C#
1
2
3
4
5
6
7
column1.Name = "Id";
column2.Name = "Surname";
column3.Name = "Name";
column4.Name = "Middle_name";
column5.Name = "Scientific_degree";
column6.Name = "Position";
column7.Name = "Experience";
Вопрос состоит в том, как реализовать импорт данных с файла? То есть как это сделать максимально удобно?

Есть размыления: быть может создать txt файл, и , скажем, реализовать такую структуру в этом файле:
id (значение), surname (значение), name, middle_name (тоже значение и т.д.), scientific_degree, position, experience ; (тут второй объект) id , surname , name, middle_name, scientific_degree, position, experience ; (тут третий объект) id , surname ... и т.д. Потом типо потоком файл открыть, и пока в тексте не столкнёмся с запятой или ";", то до тех пор заполнять ячейку. Тогда вопрос: Как выбрать ячейку в программном коде? То есть как прописать это:
ячейка = ...
и как перейти на новую строку? То есть как прекратить записывать первого, второго или пятидесятого пользователя и перейти к следующему? Тоже в виде кода
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2019, 11:51
Ответы с готовыми решениями:

Импорт данных из XML файла в DataGridView
Как сделать импорт данных из XML файла в DataGridView? Как читать и загружать xml файл разобрался,...

DataGridView, как реализовать добавление данных
Собственно мой вопрос. Начинаю осваивать работу с формами, textbox listbox button все вобщем то...

Как реализовать сохранение данных используя DataGridView?
Собсно вопрос по теме. Имеется несколько DataGriedView-ов. Нужно, чтобы после занесения в таблицу...

Импорт данных из Excel в DataGridView
Нужно импортировать данные из файла в грид, а затем добавить в БД. То бишь пользователь загружает...

Импорт данных из Excel в DataGridView
Всем доброго дня! После обновления Windows 7, при импорте данных из Excel в DGV столкнулся с...

10
PoPsa85
750 / 514 / 222
Регистрация: 01.07.2018
Сообщений: 1,723
14.06.2019, 12:12 2
Цитата Сообщение от triatri3 Посмотреть сообщение
быть может создать txt файл
XML или JSON в этом плане удобнее. Десереализовать файл в коллекцию объектов, коллекцию привязать к гриду.
2
bd_13
130 / 107 / 47
Регистрация: 05.11.2015
Сообщений: 455
14.06.2019, 12:20 3
triatri3, Из текстового файла в dataGridView

Добавлено через 6 минут
triatri3, или вот еще примерчик.
Первая строка в текстовом файле - это заголовок, разделенный символом - ;, все что далее - это основная таблица.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  private void button1_Click(object sender, EventArgs e)
        {
            System.IO.StreamReader file = new System.IO.StreamReader("dv.txt");
            string[] columnnames = file.ReadLine().Split(';');
            DataTable dt = new DataTable();
           foreach (string c in columnnames)
           {
                dt.Columns.Add(c);
           }
            string newline;
            while ((newline = file.ReadLine()) != null)
            {
                DataRow dr = dt.NewRow();
                string[] values = newline.Split(';');
                for (int i = 0; i < values.Length; i++)
                {
                    dr[i] = values[i];
                }
                dt.Rows.Add(dr);
            }
            file.Close();
            dataGridView1.DataSource = dt;
        }
1
PoPsa85
750 / 514 / 222
Регистрация: 01.07.2018
Сообщений: 1,723
14.06.2019, 12:31 4
bd_13,

Не по теме:

Я конечно. понимаю, если задача стоит разобрать уже готовый файл и деваться некуда. Можно извращаться. Но если файл только предстоит создать, почему не использовать xml, json, excel, sqlite ?

1
14.06.2019, 12:31
bd_13
130 / 107 / 47
Регистрация: 05.11.2015
Сообщений: 455
14.06.2019, 12:33 5
PoPsa85, можно, почему нет?
я дал то что пользователь "размышлял"
Цитата Сообщение от triatri3 Посмотреть сообщение
быть может создать txt файл
1
triatri3
6 / 6 / 8
Регистрация: 16.11.2016
Сообщений: 623
14.06.2019, 21:30  [ТС] 6
Извините что вновь беспокою, но возник такой вопрос:
У меня 3 таблицы, третья связанная с двумя другими. То есть две следующие колонки должны принадлежать двум разным таблицам. Я прописал это, но выводит ошибку. Есть ли возможность как-то это реализовать?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var column1 = new DataGridViewColumn();
            column1.HeaderText = "Код преподавателя"; //текст в шапке
            column1.Width = 50; //ширина колонки
            column1.ReadOnly = true; //значение в этой колонке нельзя править
            column1.Name = "Id"; //текстовое имя колонки, его можно использовать вместо обращений по индексу
            column1.Frozen = true; //флаг, что данная колонка всегда отображается на своем месте
            column1.CellTemplate = new DataGridViewTextBoxCell(); //тип нашей колонки
 
 
var column8 = new DataGridViewColumn();
            column8.HeaderText = "Код предмета"; //текст в шапке
            column8.Width = 50; //ширина колонки
            column8.ReadOnly = false; //значение в этой колонке нельзя править
            column8.Name = "Item_сode"; //текстовое имя колонки, его можно использовать вместо обращений по индексу
            column8.Frozen = true; //флаг, что данная колонка всегда отображается на своем месте
            column8.CellTemplate = new DataGridViewTextBoxCell(); //тип нашей колонки
 
dataGridView1.Columns.Add(column1);
dataGridView2.Columns.Add(column8);
dataGridView3.Columns.Add(column1);
dataGridView3.Columns.Add(column8);
0
PoPsa85
750 / 514 / 222
Регистрация: 01.07.2018
Сообщений: 1,723
14.06.2019, 22:06 7
Цитата Сообщение от triatri3 Посмотреть сообщение
У меня 3 таблицы, третья связанная с двумя другими.
Как связана ?
Цитата Сообщение от triatri3 Посмотреть сообщение
Я прописал это, но выводит ошибку.
Где прописали ? Какую ошибку ?
0
triatri3
6 / 6 / 8
Регистрация: 16.11.2016
Сообщений: 623
14.06.2019, 22:07  [ТС] 8
+ меня интересует как реализовать запись в файл при закрытии? Я реализовал так, но запись не происходит
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private void Form1_Closing(object sender, EventArgs e)
        {
            if (светлаяToolStripMenuItem.Checked == true)
            {
                // создать запись и открыть файл
                TextWriter tw = new StreamWriter("Setting.txt");
 
                // написать строку текста в файл
                tw.WriteLine("white");
 
                // закрыть поток
                tw.Close();
            }
            else
            {
                // создать запись и открыть файл
                TextWriter tw = new StreamWriter("Setting.txt");
 
                // написать строку текста в файл
                tw.WriteLine("black");
 
                // закрыть поток
                tw.Close();
            }
        }
0
PoPsa85
750 / 514 / 222
Регистрация: 01.07.2018
Сообщений: 1,723
14.06.2019, 22:20 9
Цитата Сообщение от triatri3 Посмотреть сообщение
но запись не происходит
Как определили, что не проходит ? Файл должен быть в папке bin/Debug или bin/Release вашего проекта.
1
triatri3
6 / 6 / 8
Регистрация: 16.11.2016
Сообщений: 623
14.06.2019, 23:45  [ТС] 10
Цитата Сообщение от PoPsa85 Посмотреть сообщение
Файл должен быть в папке bin/Debug
Там и находится.
Цитата Сообщение от PoPsa85 Посмотреть сообщение
Как определили, что не проходит ?
Это txt файл, открываю его, там старое значение. Выхожу с настройкой в программе, чтобы это значение поменялось, но оно не изменяется. Структуратакая, что открыв программу считывается файл, в котором написанно "black" или "white", цветовую тему можно поменять в программе. При закрытии программы должно в файле сохранятся значение (на месте старого) , тоже "black" или "white", в зависимости от выбранной в момент закрытия палитры цвета. В обзем, открывается коректно, при закрытии файл не меняется.
0
PoPsa85
750 / 514 / 222
Регистрация: 01.07.2018
Сообщений: 1,723
15.06.2019, 00:10 11
Лучший ответ Сообщение было отмечено triatri3 как решение

Решение

triatri3, Для хранения настроек приложения, существует Properties.Settings
https://blog.foolsoft.ru/c-xranenie-...gs-v-dejstvii/
1
15.06.2019, 00:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2019, 00:10

Импорт данных из Excel в DataGridView
Здравствуйте! Мне нужно извлечь данных из excel. У меня возникла ошибка. Как ее исправить, почему...

Экспорт/Импорт данных из dataGridView в файл
Доброго дня/ночи! Прошу помочь с сохранением/загрузкой данных из dataGridView. По куче примеров и...

Импорт данных из нескольких листов Excel в DataGridView
Всем доброго дня. Заранее извиняюсь если окажется, что тема дублируется. подскажите решение на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru