rdlc水晶报表在wpf里的使用

匿名 (未验证) 提交于 2019-12-03 00:41:02

Microsoft.ReportViewer.WinForms

      xmlns:rv="clr-namespace:Microsoft.Reporting.WinForms;assembly=Microsoft.ReportViewer.WinForms"

            <WindowsFormsHost Margin="135,75,0,0" Panel.ZIndex="-1" Height="auto">                 <rv:ReportViewer x:Name="reportViewer"  />             </WindowsFormsHost>

3.初始化控件参数

this.reportViewer.Messages = new Health.Client.Base.ReportViewerMessagesZhcn();

    public class ReportViewerMessagesZhcn : IReportViewerMessages     {         public string BackButtonToolTip { get { return "后退"; } }          public string BackMenuItemText { get { return "后退"; } }          public string ChangeCredentialsText { get { return "更改"; } }          public string CurrentPageTextBoxToolTip { get { return "当前页"; } }          public string DocumentMapButtonToolTip { get { return "文档视图"; } }          public string DocumentMapMenuItemText { get { return "文档视图"; } }          public string ExportButtonToolTip { get { return "导出"; } }          public string ExportMenuItemText { get { return "选择格式"; } }          public string FalseValueText { get { return "不正确的值"; } }          public string FindButtonText { get { return "查找"; } }          public string FindButtonToolTip { get { return "查找"; } }          public string FindNextButtonText { get { return "下一个"; } }          public string FindNextButtonToolTip { get { return "下一个"; } }          public string FirstPageButtonToolTip { get { return "首页"; } }          public string LastPageButtonToolTip { get { return "最后一页"; } }          public string NextPageButtonToolTip { get { return "下一页"; } }          public string NoMoreMatches { get { return "无匹配项"; } }          public string NullCheckBoxText { get { return "空值"; } }          public string NullCheckBoxToolTip { get { return "空值"; } }          public string NullValueText { get { return "空值"; } }          public string PageOf { get { return "ҳ"; } }          public string PageSetupButtonToolTip { get { return "页面设置"; } }          public string PageSetupMenuItemText { get { return "页面设置"; } }          public string ParameterAreaButtonToolTip { get { return "参数设置区"; } }          public string PasswordPrompt { get { return "请输入密码:"; } }          public string PreviousPageButtonToolTip { get { return "ǰһҳ"; } }          public string PrintButtonToolTip { get { return "打印"; } }          public string PrintLayoutButtonToolTip { get { return "打印"; } }          public string PrintLayoutMenuItemText { get { return "打印"; } }          public string PrintMenuItemText { get { return "打印"; } }          public string ProgressText { get { return "正在生成报表......"; } }          public string RefreshButtonToolTip { get { return "刷新"; } }          public string RefreshMenuItemText { get { return "刷新"; } }          public string SearchTextBoxToolTip { get { return "查找"; } }          public string SelectAll { get { return "ȫѡ"; } }          public string SelectAValue { get { return "SelectAValue"; } }          public string StopButtonToolTip { get { return "ֹͣ"; } }          public string StopMenuItemText { get { return "ֹͣ"; } }          public string TextNotFound { get { return "未找到"; } }          public string TotalPagesToolTip { get { return "总页数"; } }          public string TrueValueText { get { return "正确值"; } }          public string UserNamePrompt { get { return "用户名"; } }          public string ViewReportButtonText { get { return "显示报表"; } }          public string ViewReportButtonToolTip { get { return "显示报表"; } }          public string ZoomControlToolTip { get { return "缩放"; } }          public string ZoomMenuItemText { get { return "缩放"; } }          public string ZoomToPageWidth { get { return "页宽"; } }          public string ZoomToWholePage { get { return "整页"; } }     }

4 .加载视图,设置视图RDLC的方法

        private void ShowReportViewer(int index, Microsoft.Reporting.WinForms.ReportDataSource dataSourse, List<Microsoft.Reporting.WinForms.ReportParameter> reportParameters, System.Collections.IEnumerable detailDataSource)         {             ReportViewer reportViewer = SelectReportViewer(index);             //索引超出范围             if (reportViewer == null) return;             if (dataSourse != null)             {                 reportViewer.LocalReport.ReportPath = GetReportFilePath(dataSourse.Name);                 reportViewer.LocalReport.DataSources.Clear();                 reportViewer.LocalReport.DataSources.Add(dataSourse);             }             else             {                 reportViewer.LocalReport.ReportPath = GetReportFilePath("ChargeFeezyAmountMain");                 reportViewer.LocalReport.DataSources.Clear();             }              if (reportParameters != null)             {                 reportViewer.LocalReport.SetParameters(reportParameters);             }              if (detailDataSource != null)             {                 _subDataSource = detailDataSource as List<ReportDataSource>;                 reportViewer.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);             }             //if (dataSourse.Name == "CancelArrears")             //{             //    var pageSettings = reportViewer.GetPageSettings();              //    pageSettings.Landscape = false;             //    reportViewer.SetPageSettings(pageSettings);             //}             //else if (dataSourse.Name == "CarrearagePat" || dataSourse.Name == "RecoveryArrears")             //{             //    var pageSettings = reportViewer.GetPageSettings();              //    pageSettings.Landscape = true;             //    reportViewer.SetPageSettings(pageSettings);             //}             reportViewer.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);             reportViewer.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.Percent;             reportViewer.ZoomPercent = 100;             reportViewer.RefreshReport();         }         private void ShowReportViewer1(int index, List<Microsoft.Reporting.WinForms.ReportDataSource> dataSourse, List<Microsoft.Reporting.WinForms.ReportParameter> reportParameters, System.Collections.IEnumerable detailDataSource)         {             ReportViewer reportViewer = SelectReportViewer(index);             //索引超出范围             if (reportViewer == null) return;             if (dataSourse != null)             {                 reportViewer.LocalReport.ReportPath = Health.Reports.ReportHelper.GetReportFilePath(dataSourse[0].Name);                 reportViewer.LocalReport.DataSources.Clear();                 foreach (var data in dataSourse)                 {                     reportViewer.LocalReport.DataSources.Add(data);                 }             }             else             {                 reportViewer.LocalReport.ReportPath = Health.Reports.ReportHelper.GetReportFilePath("ChargeFeezyAmountMain");                 reportViewer.LocalReport.DataSources.Clear();             }              if (reportParameters != null)             {                 reportViewer.LocalReport.SetParameters(reportParameters);             }             if (detailDataSource != null)             {                 _subDataSource = detailDataSource as List<ReportDataSource>;                 reportViewer.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);             }             reportViewer.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);             reportViewer.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.Percent;             reportViewer.ZoomPercent = 100;             reportViewer.RefreshReport();         }         private ReportViewer SelectReportViewer(int index, bool isReset = true)         {             if (isReset) reportViewer.Reset();             return reportViewer;         }         private void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)         {             foreach (var item in _subDataSource)             {                 e.DataSources.Add(item);             }         }
        public static string GetReportFilePath(string reportFileName)         {                          string filePath= @"Reports\" + reportFileName + ".rdlc";             filePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, filePath);              if(!System.IO.File.Exists(filePath))              {                 return "";              }                           return filePath;         }

调用

原文:https://www.cnblogs.com/nocanstillbb/p/9308553.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!