C # Экспорт данных из datagridview & MYSQL в Microsoft ReportViewer - PullRequest
0 голосов
/ 14 сентября 2018

Мне интересно, можете ли вы мне помочь.

У меня есть 3 таблицы в базе данных Mysql, связанные друг с другом. Стол с автомобильными деталями Стол с ремонтом автомобилей Стол с деталями ремонта автомобиля

В моей форме Windows у меня есть вид сетки данных, который отображает ремонт автомобилей. Чего я хочу добиться: я выбираю и щелкаю правой кнопкой мыши по записи и нажимаю «печать». что должно произойти, так это то, что я хочу, чтобы отображались данные из раздела «Ремонт автомобиля», «Сведения о ремонте автомобиля» и несколько дополнительных полей из «Сведения о машине», связанных с этим конкретным ремонтом.

До сих пор, когда вы нажимаете кнопку «Печать», открывается новая форма с представлением «Отчет», которое получает случайные данные из сетки. Я не могу заставить его отображать правильные данные или данные, которые я хотел бы.

См. Таблицы ниже, конфигурацию отчета, а также кнопку «Печать».

Таблица сведений об автомобиле:

nr_rej - это PK

+---------+-------+-------+-------------------+---------------+---------+---------------+----------+--------+----------+
| nr_rej  | Marka | Model | Pojemnosc_Silnika | Rok_Produkcji | Nr_Ramy | Engine_Number | Przebieg | Imie   | Nazwisko |
+---------+-------+-------+-------------------+---------------+---------+---------------+----------+--------+----------+
| AB12CDE | BMW   | 7     |               3.0 |          2012 | 5678    | BCMS          |     1000 | TEST   | TEST     |
| NA06ABC | Volvo | S40   |               2.0 |          2006 | 12345   | ABCD          |   160000 | Robert | Test     |
+---------+-------+-------+-------------------+---------------+---------+---------------+----------+--------+----------

Таблица по ремонту автомобилей: (ПОЖАЛУЙСТА, ИГНОРИРУЙТЕ поле opis_naprawy)

nr_naprawy - это PK nr_rej - это FK из таблицы автомобилей

+------------+--------------+---------+----------+--------------+
| Nr_Naprawy | data_naprawy | nr_rej  | Przebieg | opis_naprawy |
+------------+--------------+---------+----------+--------------+
|         10 | 2018-09-13   | NA06ABC |   130000 | NULL         |
|         11 | 2018-09-13   | NA06ABC |   150000 | NULL         |
|         13 | 2018-09-13   | AB12CDE |    22222 | NULL         |
+------------+--------------+---------+----------+--------------+

Таблица сведений о ремонте автомобиля:

idopisynapraw является ПК Nr_Naprawy - это FK из таблицы ремонта автомобилей с отношением «один ко многим».

+---------------+--------------+--------+------------+
| idopisynapraw | Opis_Naprawy | Cena   | Nr_Naprawy |
+---------------+--------------+--------+------------+
|            10 | Brakes       |  30.00 |         10 |
|            11 | Clutch       | 200.00 |         10 |
|            12 | Oil          |  50.00 |         11 |
|            13 | Oil          |  50.00 |         11 |
|            14 | Coil         |   2.00 |         13 |
|            15 | TEST         |  33.00 |         13 |
+---------------+--------------+--------+------------+

Ниже моя выбранная кнопка "Печать", в которой не так много. Открывается форма с отчетом:

private void drukujToolStripMenuItem_Click(object sender, EventArgs e)
        {

            Nowy_Raport fDR = new Nowy_Raport();

            fDR.Show();
        }

Так что выше открывается новая форма с отчетом, который показан ниже. Конфигурация отчета:

Report Config

Так что сейчас, когда я выбираю запись в виде таблицы данных и нажимаю печать. отчет запускается, но кратко излагает детали, которые являются очень случайными, поскольку они не всегда детализируют ремонт, к которому следует обратиться Пожалуйста, смотрите отчет ниже с текущей настройкой:

Report View

Как вы можете видеть выше, выбор Opisy Napraw очень случайный, так как он выбирает все, все из данных о ремонте, а не те, которые он должен делать для ремонта ядра. Также NR_Naprawy - это номер проводного соединения, так как он должен отображать номер автозапуска ПК.

Я не уверен, должна ли конфигурация выполняться с помощью кнопки «Печать» или самого отчета, чтобы я мог видеть отчет, который соответствует только выбранному ремонту.

Я надеюсь, что все имеет смысл относительно того, что я хочу достичь, но если вам нужны дополнительные детали, чтобы помочь мне, пожалуйста, дайте мне знать.

Большое спасибо заранее за то, что прочитали этот пост и попытались понять мои настройки и мою проблему. Также заранее спасибо за любые направления.

Пожалуйста, помните, что я начинающий программист.

С уважением

Роберт

...