【发布时间】:2019-08-22 13:23:00
【问题描述】:
我第一次使用 winform 应用程序,我有一个 gridview,其中包含用户购买的产品列表。
我有一个点击打印按钮,允许用户生成如下所示的收据:
所以在这里我很困惑是否应该使用“winform 默认 RDLC 或 Crystal Report”,或者是否应该生成 PDF,然后让它作为收据打印出来,但我不确定 PDF 是否是生成收据的好选择或不是。
对于 Crystal Report,我已读到我需要安装它,并且客户端(将使用此桌面应用程序)必须安装 Crystal Report,而且还有一些我不想要的 Crystal Report 许可。
另外,如果我使用 Crystal Report,那么我不确定是否可以准确地生成上面的收据(带有表格格式),会不会很复杂?
收据有点复杂,有没有更好的工具或方法,或者我应该如何生成上图中显示的收据?
更新: 打印纸总尺寸为:7.50 厘米,用户希望打印所有内容在中心。
Discount = FinalAmount - MRP;
客户姓名、手机号码、账单号码、付款方式值由用户自己在表单中输入。
我有一个 Excel 文件,其中包含产品列表,并且对于每个产品,我都有 ProductId、ProductName、MRP、CGST、SGST 等税务信息等信息。
根据产品 ID 从 excel 文件中填充 gridview 的代码:
using (OleDbConnection cnnxls = new OleDbConnection(strConn))
using (OleDbDataAdapter oda = new OleDbDataAdapter(query, cnnxls))
{
oda.Fill(dtProductList);
DataColumnCollection columns = dtProductList.Columns;
if (!columns.Contains("FinalAmount"))
{
dtProductList.Columns.Add(new DataColumn() { ColumnName = "FinalAmount", DataType = typeof(decimal) });
}
if (!columns.Contains("Quantity"))
{
dtProductList.Columns.Add(new DataColumn() { ColumnName = "Quantity", DataType = typeof(int) });
}
DataRow lastRow = dtProductList.Rows[dtProductList.Rows.Count - 1];
lastRow["FinalAmount"] = Convert.ToDecimal(lastRow["MRP"]);
lastRow["Quantity"] = 1;
}
【问题讨论】:
-
您可以使用 RDLC 报告。可以打印 PDF、WORD、EXCEL。
-
我想直接生成这张收据,而不是在 PDF/Word/Excel 中进一步导出
-
您可以使用任何报表设计器工具生成如上图所示的报表。 RDLC 报告已经足够好了。你可以print the RDLC report with or without showing the print dialog。您也可以轻松export the RDLC report manually or using the code。
-
@RezaAghaei 非常感谢您的回复和建议选项,但我不明白的一件事是,如果您能看到我的表格结构,我在 1 列中有 MRP、QTY、DISC,那么我该如何满足是吗?
标签: c# winforms crystal-reports rdlc