Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/58: Рейтинг темы: голосов - 58, средняя оценка - 4.69
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156

Запись данных из datagridview в одномерный массив

01.05.2015, 19:30. Показов 12472. Ответов 72
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер! В общем, у меня на форме есть dgv (состоящая из одного столбца), в которую пользователь вводит числовые значения. Что нужно сделать, чтобы эти данные из dgv записать в одномерный массив?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.05.2015, 19:30
Ответы с готовыми решениями:

Запись данных с DataGridView в одномерный массив
Здравствуйте всем, как можно записать данные с Грид(двумерный массив) в одномерный массив. До этого получилось записать данные в двумерный...

Запись из выбранной строки DataGridView в одномерный массив
Здрвствуйте, у меня такая проблема. У меня есть dataGridView1, заполненная значениями (double) с третьего столбца(по индексу ), мне надо...

Запись данных из stinggrid в одномерный массив
Люди добрые, приветствую, помогите! Необходимо записать данные из stinggrid в одномерный массив по-очереди. stinggrid содержит 3 столбца и...

72
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 22:56  [ТС]
Студворк — интернет-сервис помощи студентам
Вот(
Миниатюры
Запись данных из datagridview в одномерный массив  
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
01.05.2015, 23:09
3 варианта:
1) в гриде нет столбцов (мало вероятно)
2) в гриде нет строк (более вероятно)
3) не заполнены value ячеек (вероятнее всего)
1
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 23:11  [ТС]
А как я могу их заполнить, когда прога не запускается?
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
01.05.2015, 23:15
jack wilshere, у вас заполнение массива из грида стоит на инициализации формы. Если грид пустой, то будет ошибка. Перенесите этот код на кнопку. После открытия формы заполните грид и нажмете кнопку.
1
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 23:20  [ТС]
А теперь вот такая фигня(
Миниатюры
Запись данных из datagridview в одномерный массив  
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
01.05.2015, 23:27
Очевидно, сначала нужно заполнить ячейки, а потом читать их в массив.
В конструкторе формы задайте количество строк грида, если оно заранее известно.
Если неизвестно, можно программно добавлять строки в коллекцию Rows грида, параллельно можно задавать и значения ячеек.
Если свойство AllowUserToAddRows=true, то строки можно добавлять в процессе работы программы.
После добавления строк и заполнения значений ячеек нужно записать эти значения в массив. Сделать это лучше в обработчике щелчка по какой-либо кнопке.

Добавлено через 2 минуты
Цитата Сообщение от jack wilshere Посмотреть сообщение
А теперь вот такая фигня(
"Фигня" появилась при заполненных ячейках?
1
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 23:30  [ТС]
Нет... При запуске проги... Смысл программы такой, что пользователь должен вводить значения в пустой грид, а от туда уже значения должны записываться в массив...
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
01.05.2015, 23:30
Цитата Сообщение от jack wilshere Посмотреть сообщение
А теперь вот такая фигня(
Попробуйте:
C#
1
array [i] = (int) dataGridView1[0,i].Value.ToString();
или
C#
1
array [i] = Convert.ToInt32(dataGridView1[0,i].Value.ToString());
1
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 23:34  [ТС]
Всё тоже самое, не помогает(( Капец какой-то...
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
01.05.2015, 23:35
Если при запуске, то как сработал button1_Click?
При запуске исключения не генерируются. Только при выполнении, т.е. button1_Click выполнялся в момент появления сообщения о необработанном исключении.
Есть вопрос:
Как и когда пользователь вводит данные в ячейки?
1
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 23:37  [ТС]
Запускается программа, пользователь вводит данные в грид, затем нажимается кнопка
0
 Аватар для datey
25 / 25 / 10
Регистрация: 14.12.2014
Сообщений: 110
01.05.2015, 23:42
jack wilshere, я отлучился. Значит ты запускаешь форму, вводишь значения в грид, жмёшь кнопку, и выводит эту ошибку?

Добавлено через 2 минуты
jack wilshere, ты уверен что вводишь только числа?
1
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
01.05.2015, 23:42
Хорошо. Строки добавляет сам пользователь путем ввода данных?
Если так, то целые ли числа вводятся в ячейки?
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
01.05.2015, 23:42
Цитата Сообщение от jack wilshere Посмотреть сообщение
Всё тоже самое, не помогает((
Парадокс . Глупость, конечно, но попробуйте так
C#
1
array [i] = Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value.ToString());
0
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 23:43  [ТС]
Да, строки добавляет сам пользователь, то есть, при запуске в гриде всего одна ячейка, числа вводятся строго целые
0
 Аватар для datey
25 / 25 / 10
Регистрация: 14.12.2014
Сообщений: 110
01.05.2015, 23:43
chumich, не Cells а Columns. И в стринг точно не нужно.
1
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 23:46  [ТС]
Пока всё тоже самое(
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
01.05.2015, 23:49
Лучший ответ Сообщение было отмечено jack wilshere как решение

Решение

C#
1
2
3
int[] arr = new int[dataGridView1.RowCount];
for (int i = 0; i < dataGridView1.RowCount-1; i++)
    arr[i] = (int)dataGridView1[0, i].Value;
Ибо новая строка тоже входит в количество строк.

Добавлено через 2 минуты
Т.е. в цикле не до dataGridView1.RowCount, а до dataGridView1.RowCount-1
2
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 23:53  [ТС]
Вроде всё заработало Спасибо огромное)) Как же я вас сегодня замучил, огромное спасибо всем, от души просто
0
 Аватар для datey
25 / 25 / 10
Регистрация: 14.12.2014
Сообщений: 110
01.05.2015, 23:55
jack wilshere, dataGridView1.RowCount-1 - и всё из-за этого... Я при начале изучении массивов на этих моментах страдал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.05.2015, 23:55

поиск в базе данных и запись значений строки в одномерный массив
Помогите Поожалуста))) У меня есть база данных access через ADO соединяется с Delphi мне нужно найти строку в базе данных и значения...

Вывести одномерный массив на форме в dataGridView
Уважаемые пользователи! Подскажите, пожалуйста, как вывести одномерный массив на форме в dataGridView?

Сжать одномерный массив, используя DataGridView
Требуется сжать массив, удалив из него все элементы, модуль которых находится в интервале . Новый массив не заводить. Получилось сделать...

Запись в одномерный динамический массив
Доброго времени суток! Записываю в одномерные динамические массивы строки из Excel. Все строки записываются без проблем, а вот при...

Запись из DataGridView в массив
Здравствуйте, у меня есть таблица 4*5, мне нужно считать данный из таблицы в двумерный массив, пропустив 1 столбец. Делаю это так: ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru