Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 1
Регистрация: 24.11.2018
Сообщений: 130

Передача данных из Grid-a в Grid

13.05.2019, 18:28. Показов 766. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Суть задачи заключается в чем:
Дан файл reader.dat с записями вида: индекс издания, наименование, период подписки (количество месяцев), цена 1-го месяца, ФИО подписчика, адрес подписчика, стоимость подписки, N почтового отделения связи (Это DataGridView1 и он находиться на первой форме Form1)

НУЖНО
для заданного N почтового отделения создать файл reestr.dat с записями вида: индекс издания, наименование, количество подписчиков по месяцам, общая стоимость подписки; (это я решил реализовать так : на форме Form3 я вбиваю в поле номер отделения и нажимаю найти, этот номер передаю на Form6 , где находится грид , при том ,что при нажатии кнопки на Form3 , я передал значения из DataGridView1- который находится на Form1, в DataGridView2 который находится на Form6)

Проблема в том , что в DataGridView2 (куда я передаю данные), данные не отображаются , в чем проблема , и как лучше реализовать , эту задачу

Пробовал вот так , не вышло
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 public int index = 0;
        private void BookAuthorAndYearThePublicationRequest_Click(object sender, EventArgs e)
        {
            int num = Convert.ToInt32(numericUpDown1.Value);
            Form6 form6 = new Form6();
            form6.ShowDialog();
            for (int i = 0; i < forQuery.Count; ++i)
            {
                if (forQuery[i].number == num)
                {
                    
                    form6.dataGridView2.RowCount++;
                    form6.dataGridView2[0, index].Value = forQuery[i].adress;
                    form6.dataGridView2[1, index].Value = forQuery[i].adress;
                    form6.dataGridView2[2, index].Value = forQuery[i].adress;
                    form6.dataGridView2[3, index].Value = forQuery[i].adress;
                    index++;
 
                }
            }
        }
forQuery - это коллекция структур
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 public int indexx, period, firstprice,fullprice,number;
            public string name, fullname, adress,month;
            public book(int _indexx, string _name, int _period, int _firstprice, string _fullname, string _adress,int _fullprice, int _number ,string _month)
            {
                indexx = _indexx;
                name = _name;
                period = _period;
                firstprice = _firstprice;
                fullname = _fullname;
                adress = _adress;
                fullprice = _fullprice;
                number = _number;
                month = _month;
            }
 
        }
Добавлено через 3 часа 3 минуты
Ошибка была в том что ShowDialog() блокирует дальнейшее выполнение кода, пока форма не будет закрыта
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2019, 18:28
Ответы с готовыми решениями:

А кроме Data Grid есть еще какой-нибудь Grid?
Вопрос конечно тупой, но что-то смотрю и не вижу. Или может не туда смотрю. Одним словом торможу. Опять же раньше был в VB такой...

Как в Data Grid изменять данные? Data Grid связана с sql БД
(WPF) В форме есть Data Grid и 3 кнопки (Изменить, Сохранить, Удалить). Как сделать чтоб эти кнопки работали так как заявлено?

Экспорт данных из Grid Wiev в Excel
using System; using System.Collections.Generic; using System.Data; using System.Data.OracleClient; using System.Linq; using...

2
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
13.05.2019, 18:55
Цитата Сообщение от Halacky Посмотреть сообщение
Ошибка была в том что ShowDialog() блокирует дальнейшее выполнение кода
Понятное дело, потому что форма в активном режиме. Пока окно не закроете дальше действий не будет.
А зачем это городить?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (int i = 0; i < forQuery.Count; ++i)
            {
                if (forQuery[i].number == num)
                {
                    
                    form6.dataGridView2.RowCount++;
                    form6.dataGridView2[0, index].Value = forQuery[i].adress;
                    form6.dataGridView2[1, index].Value = forQuery[i].adress;
                    form6.dataGridView2[2, index].Value = forQuery[i].adress;
                    form6.dataGridView2[3, index].Value = forQuery[i].adress;
                    index++;
 
                }
            }
так нельзя?
C#
1
2
3
4
5
6
7
8
           for (int i = 0; i < forQuery.Count; ++i)
            {
                if (forQuery[i].number == num)
                {
                    form6.dataGridView2[index, index].Value = forQuery[i].adress;
                    index++;
                }
            }
Очень много вопросов в коде.
Мой совет, создайте модель данных List<Model> list и передавайте все через
C#
1
form6.dataGridView2.DataSource = list
1
2 / 2 / 1
Регистрация: 24.11.2018
Сообщений: 130
13.05.2019, 19:09  [ТС]
Цитата Сообщение от Kazbek17 Посмотреть сообщение
Понятное дело, потому что форма в активном режиме. Пока окно не закроете дальше действий не будет.
А зачем это городить?
Это я для примера сделал , там разные значения будут , но спасибо что ответил )
На счет DataSource - я просто не лез еще пока туда разбираться , универ душит не успеваю искать альтернативы и делать более правильный код. Но обязательно разберусь)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.05.2019, 19:09
Помогаю со студенческими работами здесь

Возможно ли задать в XAML число строк и столбцов Grid сразу, без исп <Grid.ColumnDefinitions> и <Grid.RowDefinnitions>?
Возможно ли задать в XAML число строк и столбцов Grid сразу, без исп &lt;Grid.ColumnDefinitions&gt; и &lt;Grid.RowDefinnitions&gt;?

Не могу прикрутить bindingnavigator к grid, которая связана с другой grid
вот код, если бы grid не были связаны то и проблем бы не было. а тут никак не получается. нужно чтобы binding навигатор относился к...

CSS grid (display: grid) как расположить блоки?
Пожалуйста подскажите как мне с помощью display grid рассположить блоки как на скриншоте

Неправильная ширина в Css Grid (grid-template-columns)
По высоте все нормально, но ширину никак не додумаюсь как выставить как на макете в итоге получил в макете должно быть так ...

Как изменить Grid.Row и Grid.Column в элементе
как переместить кнопку из одной ячейки в другую при нажатии на нее или как поменять содержимое ячеек местами также при нажатии на кнопку ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных выбран регистр накопления, в. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru