微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将复选框值传递给Crystal Report参数

如何解决将复选框值传递给Crystal Report参数

我正在winforms中创建一个表单,该表单会将表单上的所有值作为参数传递给Crystal报表。 我要完成的是在窗体上选中一个复选框时,我希望它在我的水晶报表上显示为复选框。

我知道如何通过将值保存到数据库,然后从数据库提取该值并将其应用于报表来实现此目的,但我真的希望报表上的所有字段都可以作为参数字段从表单填充。有没有一种方法可以将复选框的值直接从表单发送到报表,而无需将值保存在数据库中?

例如,我正在使用以下VB代码将文本字段从表单传递到报表:

Dim NewRpt As RptPrintCustomer = New RptPrintCustomer()
NewRpt.SetParameterValue("Customer",CustomerName.Text)

Dim fresh As FrmPrintCustomer = New FrmPrintCustomer()
fresh.LinkReport(NewRpt)
fresh.Show()

我想为复选框完成同样的壮举。

在此先感谢您的见解。

解决方法

我对此的解决方法如下,而不必创建数据表并走完整的路线。

我在水晶报表上创建了一个方形框。 我创建了一个参数字段(在此示例中使用名称“ ParameterName”),并将该参数字段的第一个字母放在上述框的中间。 然后,我只使用了以下VB代码。

Dim NewRpt as RptPrintCustomer = New RptPrintCustomer

If Checkbox.checked = True Then
    NewRpt.SetParameterValue("ParameterName","x")
Else
    NewRpt.SetParameterValue("ParameterName","")
End If

如果在表单上选中该复选框,这将为我提供一个带有“ x”的框;如果在表单上未选中该复选框,则将为一个空框。

这比为一个孤独的布尔字段创建数据表要高效得多。而且省力。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。