繁体   English   中英

RDLC 报告未显示在用户控件中

[英]RDLC report not showing up inside a user control

我正在尝试在用户控件中显示 rdlc 报告。 问题是当我运行项目时它没有显示。

在运行项目之前,我可以在 xaml 设计器中看到它。

在 xaml 设计器中运行项目之前

运行项目后: 在此处输入图像描述

这是我的代码:

报告用户控制:

<UserControl x:Class="CPOSApplication.UserControls.Reports.ReportViewer"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300" Background="#FFFFFFFF"
         xmlns:repview="clr-namespace:Microsoft.Reporting.WinForms;assembly=Microsoft.ReportViewer.WinForms">
<Grid>
    <WindowsFormsHost x:Name="winform" Background="White" Visibility="Visible">
        <repview:ReportViewer  BackColor="white"  x:Name="salesReportViewer"/>
    </WindowsFormsHost>
</Grid>

另一个正在使用它的 UserControl:

<UserControl x:Class="CPOSApplication.UserControls.Reports.SalesReport"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:uc="clr-namespace:CPOSApplication.UserControls.Reports"
         mc:Ignorable="d" 
         d:DesignHeight="800" d:DesignWidth="900">
<Grid Style="{DynamicResource GridsCustomStyle}" x:Name="SearchShelfGri">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition MinWidth="100" />
    </Grid.ColumnDefinitions>
    <Border  Grid.ColumnSpan="2" Style="{DynamicResource SearchGridHeaderBorder}">
        <DockPanel Grid.Row="0">
            <Label x:Name="GridLabel" Style="{DynamicResource HeadingLabelsCustomStyle}" Content="Sales Report-:"/>
        </DockPanel>
    </Border>
    <uc:ReportViewer x:Name="salesReport"  Grid.Column="0" Background="White" Grid.Row="1" Margin="0,0"/>
    <uc:FilterSalesReport x:Name="filterShelf"  Grid.Column="1" Grid.Row="1" Background="AliceBlue" Width="300" Padding="2,0,0,0" Margin="0,0"/>
</Grid>

这是 .cs 文件

public partial class SalesReport : UserControl
{
    public SalesReport()
    {
        InitializeComponent();
        salesReport.salesReportViewer.ProcessingMode = ProcessingMode.Local;
        salesReport.salesReportViewer.LocalReport.ReportPath = @"C:\Users\Safi\Documents\Visual Studio 2012\Projects\CPOS\CPOS\CPOSApplication\Reports\QuarterSaleInvoiceReport.rdlc";
        salesReport.salesReportViewer.RefreshReport();
        salesReport.salesReportViewer.LocalReport.ReportEmbeddedResource = "CPOSApplication.Reports." + ReportType.QuarterSaleInvoice.ToString() + "Report.rdlc";
        salesReport.salesReportViewer.RefreshReport();

    }
}

//在你的CS文件中,创建这个方法

    public void GenReport()
    {
        YourReportViewfname.LocalReport.ReportPath = @"paste Your RDLC Location";

        YourClass rptclsProp01 = new YourClass();

        var data = rptclsProp01.YourList();
        ReportDataSource dataSource = new ReportDataSource("YourDataSet", data);
        YourReportViewfname.LocalReport.DataSources.Clear();
        YourReportViewfname.LocalReport.DataSources.Add(dataSource);
        YourReportViewfname.RefreshReport();
        YourReportViewfname.Show();
    }

//然后是Button Click事件,调用方法即可

        this.YourUCfnam.salesReport.GenReport();

//希望报告会显示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM