4 回答
TA贡献1784条经验 获得超7个赞
生成并打印收据
您可以使用任何报表设计器工具(如 RDLC Reports 或 Crystal Reports)生成报表。RDLC 报告已经足够好了。您可以在显示或不显示打印对话框的情况下打印 RDLC 报告。您还可以轻松地手动或使用代码导出 RDLC 报告。
如果出于任何原因您不想使用报告工具,作为另一种选择,您可以考虑使用运行时 T4 模板轻松生成 HTML 报告。
使用 RDLC 报告,如何在单个单元格中显示多个字段
您可以轻松地使用表达式在单个单元格中显示多个值。此外,作为另一种选择,您可以在单个行组中使用行,并在单个列中显示不同的字段。
示例 1 - RDLC - 使用表达式在单个列中显示多个字段
以下步骤向您展示了如何使用表达式在单个列中显示多个字段。我假设您已经设置了数据源并且有ProductName
,UnitPrice
和Quantity
字段。然后,按照下列步骤操作:
将
Table
from 工具箱放在报表设计图面上。在第一列,第一个数据行(不是标题行)中,右键单击并选择
ProductName
( image )选择第二列的标题并键入
UnitPrice/Quantity
(图像)在第二列第一数据行中,右键单击并选择
Expression
。(图片)在表达式窗口中,输入需要的表达式,例如:
= "UnitPrice: " & Fields!UnitPrice.Value.ToString() & System.Environment.NewLine & "Quantitye: " & Fields!Quantity.Value.ToString()
示例 2 - RDLC - 使用行组在单个列中显示多个字段
以下步骤向您展示了如何在单个列中显示多个字段。我假设您已经设置了数据源并且有ProductName
,UnitPrice
和Quantity
字段。然后,按照下列步骤操作:
将
Table
from 工具箱放在报表设计图面上。在第一列,第一个数据行(不是标题行)中,右键单击并选择
ProductName
( image )选择第二列的标题并键入
UnitPrice/Quantity
(图像)右键单击第一个数据行的行标题并选择
Insert Row
→Inside Group - Below
(图像)在第二列第一数据行中,右键单击并选择
UnitPrice
。(图片)单击
[UnitPrice]
,然后按Home并键入UnitPrice:
(图像)对组中的下一行中的数量执行相同的操作。
如果您需要组中的另一行,请重复步骤 3。您可以通过选择它们并
BorderStyle
分别设置顶部、左侧、底部和右侧来设置单元格的边框。
TA贡献1860条经验 获得超8个赞
我之前使用的一种快速简便的方法是生成一个html页面,然后使用html2pdf库将其转换为pdf文件。
您也可以考虑这种方法,因为 RDLC 报告/Crystal 报告对您的情况来说可能有点矫枉过正。
TA贡献1816条经验 获得超4个赞
RDLC 和水晶报表一样强大。您可以选择在消除许可成本方面接近的 rdlc。
使用 RDLC
数据 您需要在此处添加数据集或数据源到您将操纵的报告以满足您想要的设计和数据。
设计 在设计上,您只需根据自己的喜好拖放控件。有一个挑战,有时您在设计中看到的可能与您在最终输出中看到的不同,因此您需要进行大量测试。
打印 您可以使用 rdlc 进行打印预览或直接发送到 pdf 查看器。这是一个例子。
结论 我认为如果您在报表上生成的数据很好,那么使用 rdlc 和 Crystal Reports 的设计和布局不会有太大问题。
更新根据提供的更多信息,我尝试做一些可能接近您想要实现的事情。由于时间关系,我用过水晶报表和数据库表来模拟。否则同样可以使用 rdlc 实现。
我创建的示例表
这是来自数据库的示例查询和结果。我创建了可以由水晶报告容纳的组。您可以使用相同的计算文本值来区分税务信息和交易备忘录。
这是调整设计后的最终外观。页面布局也可以根据您的喜好进行调整。
更新。对于 RDLC,我认为您需要为备忘录数据和税务信息添加数据集。如果接近,请查看下面的内容。我没有进行预览,因为有些组件我没有安装。
TA贡献2012条经验 获得超12个赞
要在一个单元格中添加 3 列,您有两种选择:
1- 使用换行表达式
=Fields!MyField1.Value + System.Environment.NewLine + Fields!MyField2.Value
2- 在 rdlc 中使用类似子报表或分组的东西。
第一个选项接缝更容易
- 4 回答
- 0 关注
- 116 浏览
添加回答
举报