Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将序列号打印到Crystal Reports-WPF C#_C#_Wpf_Crystal Reports - Fatal编程技术网

如何将序列号打印到Crystal Reports-WPF C#

如何将序列号打印到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不会更新数据库(按设计) 在您的情况下,我建议使用

我有一个WPF应用程序,可以打印产品标签。有时,我必须打印同一标签的多个副本。但是每个副本的序列号都会不同。我有一个数据库表,记录最后打印的序列号。我如何使用公式来实现这一点

目前我使用的公式如下:

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