且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

RDLC系列之五 初试XAML

更新时间:2022-08-18 13:09:04

本章只讲解xaml部分,其余都和winform下一样

1.xaml代码

<Window x:Class="RDLC.WPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:rv="clr-namespace:Microsoft.Reporting.WinForms;assembly=Microsoft.ReportViewer.WinForms"
        Loaded="Window_Loaded" Closed="Window_Closed" 
        Title="MainWindow" Height="350" Width="525">
    <WindowsFormsHost Name="windowsFormsHost">
        <rv:ReportViewer x:Name="reportView" /> 
    </WindowsFormsHost>
</Window>

2.后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Reporting.WinForms;

namespace RDLC.WPF
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            //代码区域

            this.reportView.RefreshReport();
        }

        private void Window_Closed(object sender, EventArgs e)
        {
            this.reportView.LocalReport.Dispose();
            this.reportView.LocalReport.ReleaseSandboxAppDomain();
        }

    }
}

 

3.DLL引用

MainWindow.xaml:

System.Windows.Forms

WindowsFormsIntegration  (.NET 4.0 才有,直接在程序集里面搜索)

MainWindow.xaml.cs:

Microsoft.ReportViewer.Common.dll、 Microsoft.ReportViewer.ProcessingObjectModel.dll、 Microsoft.ReportViewer.WebForms.dll和Microsoft.ReportViewer.WinForms.dll

注意:本次测试的Microsoft.ReportViewer的dll为版本号为11.0,试过使用9.0的,但是this.reportView.LocalReport.ReleaseSandboxAppDomain() 无法使用。

 

4.报表的工具栏

操作方法:在工具栏选择或取消相应的属性

RDLC系列之五 初试XAML

例:不显示刷新按钮和导出按钮

 <rv:ReportViewer x:Name="reportView" ShowRefreshButton="False" ShowExportButton="False"  />