当我们使用reportviewer运行报告时,如果找到则会成功显示记录。
但是,如果没有找到记录,那么它将只显示包含所有字段的标题。
我们希望显示消息"此时没有可用的结果,而不是显示为空。请稍后再检查"
下面的代码显然无法完成工作。
我需要在下面的代码中修改哪些内容才能使其正常工作?
Sub Run_Report(ByVal sel As String)
ReportViewer1.Reset()
ReportViewer1.LocalReport.DataSources.Clear()
Dim params__p1(1) As ReportParameter
which.Value = "U"
Call Run_Report("")
Select Case which.Value
Case "U"
ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("DataSet1", ObjectDataSource1.ID))
ReportViewer1.LocalReport.ReportPath = "myTestResults.rdlc"
ReportViewer1.LocalReport.Refresh()
ReportViewer1.LocalReport.EnableExternalImages = True
params_p1(0) = New ReportParameter("username", username.Text, False)
params__p1(1) = New ReportParameter("email", email.Text, False)
ReportViewer1.LocalReport.SetParameters(params__p1)
Case Else
lblMsg.Text = "No results available at this time. Please check again later"
End Select
End Sub
提前致谢
答案 0 :(得分:0)
您可以在报表中添加表达式,以便在未找到任何行时显示不同的内容。这是expressions的良好起点。
答案 1 :(得分:0)
当您将数据放入数据源(数据表或数据集)时,您可以检查数据表是否为空。
if ( DataTable.Rows.Count == 0 ) -> set the TextObjext.Text = "No Record found".
答案 2 :(得分:0)
我通过使用SSRS NoRowsMessage属性解决了这个问题。
在报告属性中,我输入了未找到记录
现在,如果没有记录,则显示消息未找到记录。