如何将序列号打印到Crystal Reports-WPF C#
我有一个WPF应用程序,可以打印产品标签。有时,我必须打印同一标签的多个副本。但是每个副本的序列号都会不同。我有一个数据库表,记录最后打印的序列号。我如何使用公式来实现这一点 目前我使用的公式如下:如何将序列号打印到Crystal Reports-WPF C#,c#,wpf,crystal-reports,C#,Wpf,Crystal Reports,我有一个WPF应用程序,可以打印产品标签。有时,我必须打印同一标签的多个副本。但是每个副本的序列号都会不同。我有一个数据库表,记录最后打印的序列号。我如何使用公式来实现这一点 目前我使用的公式如下: WhilePrintingRecords; numbervar slno = ToNumber ({CustomerApp_TblBagLabel.TransactionNo}); slno := slno + 1; Crystal Reports不会更新数据库(按设计) 在您的情况下,我建议使用
WhilePrintingRecords;
numbervar slno = ToNumber ({CustomerApp_TblBagLabel.TransactionNo});
slno := slno + 1;
Crystal Reports不会更新数据库(按设计) 在您的情况下,我建议使用以下方法(伪代码):
能否添加一些希望返回的示例数据/格式?是否希望Crystal Reports更新跟踪事务号的数据库字段?如果是这样,它就不会这样做。@craig:我不是在从crystal report更新数据库字段。一旦用户指定了拷贝数,我将在我的C#代码中执行此操作。我需要做的是从数据库表中获取最后一个序列号,增加一个,并在每次打印标签时在报告中显示。我不是crystal reports的专家,这是在公式中完成的吗?不,这将在您的c#应用程序中完成。谢谢craig,这是一个很好的方法。。。有一个疑问,您将如何从C#发送参数并在CR中接收它?我建议您在Crystal Reports中添加一个参数,然后在C#应用程序中设置它。该参数可以显示在报表本身上,也可以用于过滤查询。
begin transaction;
retrieve and increment transaction #;
open report;
pass transaction # to report (via a parameter would be easiest);
print report;
if report prints successfully then
commit;
else
rollback;
end if