4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156

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

01.05.2015, 19:30. Показов 12519. Ответов 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
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
01.05.2015, 23:55
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от datey Посмотреть сообщение
не Cells а Columns.
Да нет, именно Cells. Насчет ToString спорить не буду. Это уж так - на авось
0
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
01.05.2015, 23:58  [ТС]
Да уж)) Мелочь, а времени сколько отняло)) Теперь осталось только этот массив передать во вторую форму и прога завершена)
0
 Аватар для datey
25 / 25 / 10
Регистрация: 14.12.2014
Сообщений: 110
02.05.2015, 00:01
chumich, Ну может быть, проверить не могу сейчас, спорить не буду. Просто из моей памяти Cells - это сама ячейка, в которой уже содержится RowIndex и ColumnIndex.
1
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
02.05.2015, 00:08
Цитата Сообщение от datey Посмотреть сообщение
Ну может быть, проверить не могу сейчас,
Ну, проверите как-нибудь на досуге При этой форме записи Coloumns не пойдет. Он используется при работе со столбцами без использования Rows. Например, при задании свойств и т.д. А при парном использовании работает Cells.
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
02.05.2015, 00:09
Цитата Сообщение от jack wilshere Посмотреть сообщение
осталось только этот массив передать во вторую форму
1)Добавляете в класс 2-й формы поле типа целого массива:
C#
1
int[] arr;
2)Меняете или добавляете новый конструктор 2-й формы
C#
1
2
3
4
5
public Form2(int [] arr)
{
  InitializeComponent();
  this.arr = arr;
}
3) При создании объекта 2-й формы пользуетесь новым конструктором, передавая туда массив:
C#
1
Form2 frm = new Form2(arr);
1
 Аватар для datey
25 / 25 / 10
Регистрация: 14.12.2014
Сообщений: 110
02.05.2015, 00:18
chumich, извините, Вы правы, с блокнота старую лабу открыл, действительно, Cells
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
02.05.2015, 00:25
Цитата Сообщение от datey Посмотреть сообщение
chumich, извините, Вы правы, с блокнота старую лабу открыл, действительно, Cells
Ничего страшного, Coloumns действительно напрашивается, по естеству. Я сам не сразу привык .
0
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
02.05.2015, 00:28  [ТС]
А как сделать так, чтобы через кнопку можно было заходить на форму, уже с параметром int[] arr?
0
 Аватар для datey
25 / 25 / 10
Регистрация: 14.12.2014
Сообщений: 110
02.05.2015, 00:35
jack wilshere, тебе во вторую форму просто в массив значения передать или на грид, текстбокс...?
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
02.05.2015, 00:36
Вопрос не очень понятен, но отвечу так как я понял.
В обработчике этой кнопки создавайте объект 2-й формы.
C#
1
Form2 frm = new Form2(arr);
Если массив создавался в этом же обработчике, то просто вызываете конструктор 2-й формы. Если - в другом, то проще всего и в классе первой формы сделать его полем.
0
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
02.05.2015, 00:39  [ТС]
datey, сейчас постараюсь поподробнее объяснить... В общем, вот мы с боем создали массив int[] arr, теперь нужно, чтобы при нажатии на кнопку (которая находится на первой форме) открылась вторая форма и значения из массива int[] arr передались в неё
0
 Аватар для datey
25 / 25 / 10
Регистрация: 14.12.2014
Сообщений: 110
02.05.2015, 00:47
jack wilshere, ну есть несколько вариантов. Такой как Даценда и ещё во второй форме можно создать
C#
1
public int[] array = new int[0];
А там где ты на кнопку жмёшь в первой форме
C#
1
2
3
Form2 frm = new Form2();
frm.array = array;
frm.Show();
0
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
02.05.2015, 13:18  [ТС]
Спасибо)

Добавлено через 12 часов 24 минуты
Даценд, можно ещё вопрос? А вот код "int[] arr = new int[dataGridView1.RowCount];
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
arr[i] = (int)dataGridView1[0, i].Value;" нужно ведь поместить в public Form1()?
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
02.05.2015, 13:26
Если массив нужен только для передачи во вторую форму, то поместите код в тот же метод, где создаете экземпляр второй формы, перед созданием. Т.е.
C#
1
2
3
4
5
int[] arr = new int[dataGridView1.RowCount];
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
   arr[i] = (int)dataGridView1[0, i].Value;
Form2 frm = new Form2(arr);
frm.Show(); // или frm.ShowDialog();
0
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
02.05.2015, 13:30  [ТС]
Даценд, То есть, нужно, чтобы этот код был в обеих формах, так? И ещё вопрос - мне нужно не просто передать его во вторую форму, но и ещё чтобы этот массив был доступен всем функциям во 2-ой форме...
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
02.05.2015, 13:38
Этот код только в классе первой форме, именно здесь создается массив и отсюда вызывается вторая форма.
Что касается 2-й формы, то изначально в классе 2-й формы был конструктор
C#
1
2
3
4
public Form2()
{
  InitializeComponent();
}
Добавляете поле-массив и меняете конструктор:
C#
1
2
3
4
5
6
int[] arr;
public Form2(int [] arr)
{
  InitializeComponent();
  this.arr = arr;
}
После этого массив arr будет виден в любом методе класса 2-й формы.
0
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
02.05.2015, 13:42  [ТС]
Даценд, давайте, чтобы я Вас больше не вводил в затруднения своими нубовскими вопросами, я объясню всю суть моей проги. В общем, есть первая форма (картинка "1") - на ней, при запуске программы, пользователь вводит значения в грид, затем эти числа должны записаться в массив, который затем должен передаться во вторую форму. При нажатии кнопки button 1 на первой форме, должен осуществляться переход на вторую форму, где будет построен график по числам, которые ввёл пользователь в первой форме. Вот, как то так...
Миниатюры
Запись данных из datagridview в одномерный массив   Запись данных из datagridview в одномерный массив   Запись данных из datagridview в одномерный массив  

Запись данных из datagridview в одномерный массив  
0
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
02.05.2015, 13:44  [ТС]
Даценд, вроде, я сделал всё так, как Вы говорите, но теперь я не могу через кнопку button 1 октрыть вторую форму( На картинке "1" видно, что подчеркивает "arr"
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
02.05.2015, 13:52
Вот этот код:
C#
1
2
3
4
5
int[] arr = new int[dataGridView1.RowCount];
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
   arr[i] = (int)dataGridView1[0, i].Value;
Form2 frm = new Form2(arr);
frm.ShowDialog();
поместите в метод button1_Click. В конструкторе первой формы он не нужен.

И в конструкторе 2-й формы поменяйте местами инициализацию массива this.arr=arr и вызов метода DrawGraph
0
4 / 4 / 0
Регистрация: 27.05.2014
Сообщений: 156
02.05.2015, 13:58  [ТС]
Даценд, теперь вроде ни на что не материться, а при запуске проги появляется вот такая ошибка...( Точнее не при запуске, а при нажатии на кнопку button 1 (то бишь, периодограмма)
Миниатюры
Запись данных из datagridview в одномерный массив  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2015, 13:58

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

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

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

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

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


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

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

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru