【问题标题】:RDLC report is not showing DataRDLC 报告未显示数据
【发布时间】:2014-11-10 22:39:49
【问题描述】:

我已经阅读了我能找到的所有问题答案,但没有一个能解决我的问题。

我有一个代表我的一行数据的类:

public class SimpleGeofenceReportDTO
{
    public string AssetId { get; set; }

    public string CompanyId { get; set; }

    public string SiteId { get; set; }

    public string CategoryId { get; set; }

    public string StartDateTime { get; set; }

    public string EndDateTime { get; set; }

    public string GeofenceId { get; set; }

    public string GeofenceEvent { get; set; }

    public string EventDateTime { get; set; }

}

从 Db 读取数据并转换为 DTO 列表:

var reportList = geofenceReport.ToList();
                var report = new List<SimpleGeofenceReportDTO>();
                foreach (var geofenceRecord in reportList)
                {
                    report.Add(new SimpleGeofenceReportDTO()
                                   {
                                       AssetId = geofenceRecord.iAssetId.ToString(),
                                       CategoryId = geofenceRecord.iCategoryId.ToString(),
                                       EndDateTime = geofenceRecord.dtUTCDateTime.ToString("dd/MM/yyyy"),
                                       GeofenceId = geofenceRecord.iGeofenceId.ToString(),
                                       GeofenceEvent = geofenceRecord.eEventCode == 6 ? "Geofence Enter" : "Geofence Exit"

                                   });
                }

我的报告 CS 代码:

   var geofenceData = GETLISTOFGEOFENCEDTO();
    GeofenceSummaryReportViewer.ProcessingMode = ProcessingMode.Local;
                        GeofenceSummaryReportViewer.LocalReport.EnableHyperlinks = true;
                        GeofenceSummaryReportViewer.HyperlinkTarget = "_blank";
                        GeofenceSummaryReportViewer.LocalReport.ReportPath = sPath;
     GeofenceSummaryReportViewer.LocalReport.DataSources.Add(
                            new ReportDataSource("GroupGeofenceSummaryReportDataTable", geofenceData ));
      GeofenceSummaryReportViewer.LocalReport.EnableExternalImages = true;
     GeofenceSummaryReportViewer.LocalReport.Refresh();

ASP.NET 网页代码:

 <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />


    <div id="ReportContentDiv" runat="server">
        <rsweb:ReportViewer ID="GeofenceSummaryReportViewer" runat="server"
            Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana"
            WaitMessageFont-Size="14pt" Width="98%" Height="98%">
            <LocalReport ReportPath="TBReports\GeofenceSummaryReport.rdlc">
            </LocalReport>
        </rsweb:ReportViewer>
    </div>
    <div id="ErrorDiv" runat="server">
        <span style="font-family: Arial; font-size: small; font-weight: bold">Your session has expired, Please login again and then try to generate this report.</span>
    </div>
    </form>

我已经调试了代码。数据正在从数据库返回,并且报告 Div 显示在网页上但没有数据。

我做错了什么?

【问题讨论】:

    标签: c# asp.net report rdlc


    【解决方案1】:

    您的报告 CS 代码的最后一行:

    GeofenceSummaryReportViewer.LocalReport.Refresh();
    

    尝试将其更改为:

    GeofenceSummaryReportViewer.RefreshReport();
    

    【讨论】: