将复选框值传递给 crystal 报告参数

pass checkbox value to crystal report parameter

我正在 winforms 中创建一个表单,将表单上的所有值作为参数传递给 crystal 报告。 我想要完成的是当我的表单上的一个复选框被选中时,我希望它在我的 crystal 报告中显示为一个复选框。

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

例如,我使用此 VB 代码将文本字段从表单传递到报告:

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

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

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

提前感谢您的任何见解。

我对此的解决方案如下所示,无需创建数据表并走完整个路线。

我在 crystal 报告上创建了一个方框。 我创建了一个参数字段(在此示例中使用名称“ParameterName”)并将该参数字段的第一个字母置于上述框内的中心位置。 然后我简单地使用了下面的VB代码。

Dim NewRpt as RptPrintCustomer = New RptPrintCustomer

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

如果在表单上选中复选框,这会给我一个带有“x”的框,如果未在表单上选中复选框,则会给我一个空框。

这比为一个单独的布尔字段创建数据表要高效得多。而且工作量很小。