【发布时间】:2013-08-10 05:10:48
【问题描述】:
我是 VB 新手,所以请不要对我的编码技能笑得太大声 :)
我创建了一个从 2 个表中提取的数据集 (Dataset1)。表适配器上的 SQL 连接 2 个表。表适配器都正确返回数据。报表查看器上的数据源是:
DataSet1_uaPowderCoat
DataSet1_uaPowderCoatType
并且它们都被实例化为它们的绑定源。有一个报表参数(Lot Num)需要将报表中的信息过滤为一行数据。
表单加载事件中的代码:
Me.ReportViewer1.LocalReport.DataSources.Clear()
Me.ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource("DataSet1_uaPowderCoat", uaPowderCoatTableAdapter.GetData()))
Me.ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource("DataSet1_uaPowderCoatType", UaPowderCoatTypeTableAdapter.GetData()))
Me.ReportViewer1.RefreshReport()
并在报告事件中:
Dim params(0) As Microsoft.Reporting.WinForms.ReportParameter
params(0) = New Microsoft.Reporting.WinForms.ReportParameter("Report_Parameter_0", Me.txtLotNumber.Text)
ReportViewer1.LocalReport.SetParameters(params)
Me.uaPowderCoatTableAdapter.FillByPCLotNbr(DataSet1.uaPowderCoat, me.txtLotNumber.Text)
Me.ReportViewer1.RefreshReport()
报告字段是: =Parameters!Report_Parameter_0.Value
=(Fields!PCStrength.Value)
参数字段工作正常,但我无法填充其余字段(只是#error)。我已经研究并尝试了很多不同的东西,如果我解决了一个问题,就会出现其他问题。有人可以帮忙吗?
谢谢!!!
【问题讨论】:
-
请发布错误消息和堆栈跟踪。
-
哦,对不起!没有错误消息,只有报告字段中的#error。我看到此警告:警告:文本框“PCStrength”的值表达式包含错误:表达式引用了字段集合中不存在的字段。 (rsRuntimeErrorInExpression)
-
我不知道如何获取堆栈跟踪。
-
为什么说字段不存在?您是否使用表达式生成器来构建它?
-
我从数据源窗口的字段列表中拖动了该字段。当我这样做时,它会附加一个聚合(=SUM(Fields!PCStrength.Value))。这标志着一个错误,所以我删除了 SUM。
标签: vb.net reportviewer