C#将数据从datagridview和MYSQL导出到Microsoft ReportViewer

时间:2018-09-13 21:12:28

标签: c# mysql datagridview reportviewer

我想知道你是否能帮助我。

我在Mysql数据库中有3个相互关联的表。 带有汽车明细表 汽车维修表 包含汽车维修详细信息的表

在Windows窗体中,我有一个数据网格视图,其中显示了汽车维修。我要实现的是:选择并右键单击记录,然后按“打印”。应该发生的是,我希望显示“汽车维修”,“汽车维修详细信息”中的数据以及“汽车详细信息”中与该特定维修相关的一些额外字段。

到目前为止,当您按“打印”按钮时,将使用“报告”视图打开新表格,该表格将从gridview中获取一些随机数据。我无法使其显示正确的数据或我想要的数据。

请参见下表,报告配置以及“打印”按钮。

汽车详细信息表:

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是Cars Table中的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是PK 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

现在,当我在datagrid视图中选择记录并按print时。该报告已运行,但简要介绍了一些非常随机的细节,因为它们并不总是详细说明应参考的维修。 请查看下面有关当前设置的报告:

Report View

正如您在上方看到的那样,Opisy Napraw的选择非常随机,因为它从“修复详细信息”中选择了所有选项,而不是为响应核心而进行的选择。 NR_Naprawy也是一个有线号码,因为它应该显示PK自动确定号码。

我不确定配置是否应在“打印”按钮或报告本身中进行,因此我可以看到仅与所选维修相对应的报告。

我希望这对我想要实现的目标有意义,但是如果您需要更多细节来帮助我,请告诉我。

非常感谢您阅读这篇文章,并尝试了解我的设置和问题。还要预先感谢您的任何指示。

也请记住我是初学者。

亲切的问候

罗伯特

0 个答案:

没有答案