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

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

01.05.2015, 19:30. Показов 12499. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru