Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/30: Рейтинг темы: голосов - 30, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 09.02.2013
Сообщений: 18

Заполнение datagridview из текстового файла

27.02.2013, 22:02. Показов 6031. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста.
как заполнить datagridview из текстового файла при нажатии кнопки?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.02.2013, 22:02
Ответы с готовыми решениями:

Заполнение comboBox из текстового файла
cb1 заполняется из блокнота stud, a work нет private void Form1_Load(object sender, EventArgs e) { string...

Из текстового файла в dataGridView
У меня есть файл "new.txt", в котором в строчку записаны числа например "1234 5678". И есть dataGridView, состоящая из 2ух столбцов. В 1ом...

Перенос из текстового файла в DataGridview
Добрый день форумчанам. Помогите пожалуйста незадачливому студенту. =) Я пытаюсь сделать судоку, для которого я вытаскиваю этюд из...

7
 Аватар для AlexAsche
78 / 78 / 15
Регистрация: 27.01.2013
Сообщений: 323
28.02.2013, 10:50
Ровно год назад точно такая же тема поднималась:

Как заполнить ячейки dataGridView из текстового файла
1
0 / 0 / 0
Регистрация: 09.02.2013
Сообщений: 18
28.02.2013, 11:33  [ТС]
матрица вида 3*4

2 3 4
9 5 7
6 4 3
2 9 1

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 private void button1_Click(object sender, EventArgs e)
        {
            string[] str;
            using (System.IO.StreamReader read = new System.IO.StreamReader("1.txt"))
            {
                str = read.ReadToEnd().Split(new Char[] { ' ', '\r' });
                int pos = 0;
                for (int i = 0; i < 3; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        if (str[pos] != "")
                            dataGridView1[j, i].Value = str[pos];
                        pos++;
                    }
 
                }
            }
        }
Ошибка

Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Создаю три столбца в dataGridView1 все равно ошибка
Имя параметра: index
0
 Аватар для AlexAsche
78 / 78 / 15
Регистрация: 27.01.2013
Сообщений: 323
28.02.2013, 11:53
надо еще установить количество строк dataGridView1.RowCount = количествоСтрок. Они в той теме забыли

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void button1_Click(object sender, EventArgs e)
        {
            string[] str;
            dataGridView1.RowCount = 4; //например вот здесь
            using (System.IO.StreamReader read = new System.IO.StreamReader("1.txt"))
            {
                str = read.ReadToEnd().Split(new Char[] { ' ', '\r' });
                int pos = 0;
 
                for (int i = 0; i < 3; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        if (str[pos] != "")
                            dataGridView1[j, i].Value = str[pos];
                        pos++;
                    }
 
                }
            }
        }
1
0 / 0 / 0
Регистрация: 09.02.2013
Сообщений: 18
28.02.2013, 12:03  [ТС]
сделал так

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)
        {
            string[] str;
            dataGridView1.ColumnCount = 3;
            dataGridView1.RowCount = 4; //например вот здесь
            using (System.IO.StreamReader read = new System.IO.StreamReader("1.txt"))
            {
                str = read.ReadToEnd().Split(new Char[] { ' ', '\r' });
                int pos = 0;
 
                for (int i = 0; i < dataGridView1.ColumnCount; i++)
                {
                    for (int j = 0; j < dataGridView1.RowCount; j++)
                    {
                        if (str[pos] != "")
                            dataGridView1[j, i].Value = str[pos];
                        pos++;
                    }
 
                }
            }
        
        }
все равно таже ошибка
Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index

Добавлено через 6 минут
так работает

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
dataGridView1.ColumnCount = 4;
            dataGridView1.RowCount = 4; //например вот здесь
            using (System.IO.StreamReader read = new System.IO.StreamReader("1.txt"))
            {
                str = read.ReadToEnd().Split(new Char[] { ' ', '\r' });
                int pos = 0;
 
                for (int i = 0; i < dataGridView1.ColumnCount; i++)
                {
                    for (int j = 0; j < dataGridView1.RowCount-1; j++)
                    {
                        if (str[pos] != "")
                            dataGridView1[j, i].Value = str[pos];
                        pos++;
                    }
 
                }
            }
0
 Аватар для AlexAsche
78 / 78 / 15
Регистрация: 27.01.2013
Сообщений: 323
28.02.2013, 12:26
Попробуйте лучше вот так. В ячейки dataGridView иначе еще и мусор(пробелы) попадает

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
26
27
private void button1_Click_1(object sender, EventArgs e)
        {
            string[] str;
            dataGridView1.ColumnCount = 3;
            dataGridView1.RowCount = 4; //например вот здесь
            using (System.IO.StreamReader read = new System.IO.StreamReader("1.txt"))
            {
                str = read.ReadToEnd().Split(new Char[] { ' ', '\n', '\r'}); // и n 
                int pos = 0;
 
                for (int i = 0; i < dataGridView1.RowCount; i++)
                {
                    for (int j = 0; j < dataGridView1.ColumnCount; j++)
                    {
                        while (str[pos] == "")
                        {
                            pos++;
                        }
                      
                        dataGridView1[j, i].Value = str[pos];
 
                        pos++;
                    }
 
                }
            }
        }
1
0 / 0 / 0
Регистрация: 09.02.2013
Сообщений: 18
28.02.2013, 12:28  [ТС]
Большое спасибо! работает!
0
3 / 3 / 1
Регистрация: 07.12.2012
Сообщений: 126
07.11.2013, 16:41
AlexAsche,
почему не заполняется матрица с размером 10*2?

Добавлено через 15 минут
все спасибо не надо, нашел ошибку...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.11.2013, 16:41
Помогаю со студенческими работами здесь

Заполнение ListVew из текстового файла через MenuStrip
Создал форму, к ней добавил MenuStrip c пунктом &quot;Импорт данных&quot;, который должен считывать данные из текстового файла и помещать их в...

Привязка данных текстового файла к DataGridView
В инете че-то порыскал , не че про это не нашел ...Как привязать данные текстового файла к гриде ?

Привязка данных из текстового файла к DataGridView
Есть текстовыи файл типа &lt;section1&gt; number1= number2= &lt;endsection1&gt; Есть DataGridView, в которои есть столбцы со значениями...

Загрузка содержимого текстового файла в dataGridView
Ув. форумчане, столкнулся с несложной на первый взгляд проблемой. Допустим есть 2 файла 1.txt и 2.txt со следующим содержимым: 1.txt ...

Вывод данных из текстового файла в datagridview
Доброго времени суток! Помогите разобраться с проблемой, пожалуйста.:cry: Входные данные(скрин 1, снизу вверх) То, что...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru