Asp.net “如何显示”;如果reportviewer中没有可用的记录,则没有可用的结果

Asp.net “如何显示”;如果reportviewer中没有可用的记录,则没有可用的结果,asp.net,vb.net,reportviewer,Asp.net,Vb.net,Reportviewer,当我们使用reportviewer运行报告时,如果找到记录,将成功显示记录 但是,如果没有找到记录,则只显示包含所有字段的标题 我们希望显示消息“此时无可用结果。请稍后再次检查”,而不是显示为空 下面的代码显然无法完成任务 有什么想法我需要在下面的代码中修改,使这项工作 Sub Run_Report(ByVal sel As String) ReportViewer1.Reset() ReportViewer1.LocalReport.DataSources.Clear()

当我们使用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

提前感谢

您可以在报表中添加表达式,以便在找不到行时显示不同的内容。这里是一个很好的起点。

当您将数据放入数据源(datatable或dataset)时,您可以检查datatable是否为空

if ( DataTable.Rows.Count == 0 )  ->  set the TextObjext.Text = "No Record found".

我通过使用SSRS NoRowsMessage属性解决了这个问题

在reports属性上,我输入了未找到记录


现在,如果没有记录,将显示消息,未找到记录。

不确定如何将您的代码与我的代码绑定。巴辛加,我可能很愚蠢,但我不明白这个链接对我有什么帮助。