【问题标题】:reportviewer visible = false in page load页面加载中的reportviewer visible = false
【发布时间】:2017-08-11 17:14:00
【问题描述】:

我的报表查看器有问题。如果我在事件按钮单击时的 page_load 页面中将报表查看器设置为visible=false,如果我已经设置为visible=true,它仍然使报表查看器visible= false。谁能帮我解决这个问题?还是有任何其他解决方案..我在一个aspx页面中有2个reportviewer,我需要其中一个是page_load中的visible=false。这是代码..谢谢你

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindDdlCountryValue();

            ReportViewer_TotalCountry.Visible = false;


        }

protected void btnViewReport_Click2(object sender, EventArgs e)
    {

            ReportViewer_TTFSSummaryBasedOnCountry.LocalReport.Refresh();
            ReportViewer_TTFSSummaryBasedOnCountry.Visible = true;
            ReportViewer_TotalCountry.Visible = false;

    }

    protected void btn_AllCountry_Click(object sender, EventArgs e)
    {

            ReportViewer_TotalCountry.LocalReport.Refresh();
            ReportViewer_TTFSSummaryBasedOnCountry.Visible = false;
            ReportViewer_TotalCountry.Visible = true;

    }

如您所见,当我单击btn_AllCountry_Click 时, ReportViewer_TotalCountry.Visible = true;生病保持可见=假 :(

帮帮我..我是这个报告的新手 :'(


 <div>
    <rsweb:ReportViewer ID="ReportViewer_TTFSSummaryBasedOnCountry" runat="server" Font-Names="Verdana" Font-Size="8pt"
     InteractiveDeviceInfos="(Collection)" SizeToReportContent="True" WaitMessageFont-Names="Verdana" 6WaitMessageFont-Size="14pt" >
        <LocalReport ReportPath="RDLC\TTFSSummaryBasedOnCountry_Report.rdlc">
            <DataSources>
                <rsweb:ReportDataSource DataSourceId="ObjectDataSource_TTFSSummaryBasedOnCountry" 
                    Name="TTFSSummaryBasedOnCountry_DataSet" />
            </DataSources>
        </LocalReport>
    </rsweb:ReportViewer>
    <asp:ObjectDataSource ID="ObjectDataSource_TTFSSummaryBasedOnCountry" 
        runat="server" OldValuesParameterFormatString="original_{0}" 
        SelectMethod="GetData" 
        TypeName="IMP_report.ttfsListTableAdapters.TTFSSummaryBasedOnCountryTableAdapter">
        <SelectParameters>
            <asp:ControlParameter ControlID="DropDownList_Country" Name="CountryName" 
                PropertyName="SelectedValue" Type="String" />
        </SelectParameters>
    </asp:ObjectDataSource>
</div>
<div id="TotalCountry" align="center" >
<rsweb:ReportViewer ID="ReportViewer_TotalCountry" runat="server" Font-Names="Verdana" Font-Size="8pt" InteractiveDeviceInfos="(Collection)" 
  WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" SizeToReportContent="True" >
    <LocalReport ReportPath="RDLC\TTFSSummaryBasedOnCountry_Report.rdlc">
        <DataSources>
            <rsweb:ReportDataSource DataSourceId="ObjectDataSource_ttfsSummaryTotalCountry" 
                Name="TTFSSummaryBasedOnCountry_DataSet" />
        </DataSources>
    </LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource_ttfsSummaryTotalCountry" 
    runat="server" OldValuesParameterFormatString="original_{0}" 
    SelectMethod="GetData" 
    TypeName="IMP_report.ttfsListTableAdapters.TTFSSummaryBasedOnCountryTotalTableAdapter">
</asp:ObjectDataSource>
</div>

【问题讨论】:

  • 这是唯一设置 ReportViewer_TotalCountry 可见性的地方吗?
  • 是的,在报告查看器属性中,我没有设置为 visible=false,表示默认为 visble=true..thanks
  • 给我看看你的HTML 代码plz,,,我想看看你是如何使用你的ReportViewer 所以请更新你的html 代码这两个ReportViewer.thanks跨度>
  • @rahul 我已经更新了我的代码..
  • @Doherty 亲爱的请检查我的逻辑。

标签: c# asp.net visual-studio-2010 report-viewer2010


【解决方案1】:

在我使用的几份报告中:

rptViewer.ShowReportBody = false;Page_Load

rptViewer.ShowReportBody = true;button_click

我认为它解决了你的问题。

【讨论】:

  • 感谢您的建议,但我之前尝试过。但仍然给出相同的结果。我只是通过每次单击按钮时重定向到另一个报告页面来解决这个问题。意味着每页一个报告查看器。很傻不是吗? :p
【解决方案2】:

我有解决这类问题的方法,希望你喜欢,而不是设置VisibilityReportViewer。尝试将VisibilityDiv 控件设置为类似

<div id="TotalSummary" runat="server" >
    <rsweb:ReportViewer ID="ReportViewer_TTFSSummaryBasedOnCountry" runat="server">
    </rsweb:ReportViewer>
</div>
<div id="TotalCountry" align="center" runat="server" >
    <rsweb:ReportViewer ID="ReportViewer_TotalCountry" runat="server" >
    </rsweb:ReportViewer>
</div>

当您想将任何ReportViewer Visibility 设置为TrueFalse 时,请尝试设置Div 可见性。

注意:Not forget to use runat="server" under div tag.

希望您理解并为您工作。

【讨论】:

  • 哦,我之前尝试过..当您在 div 中设置可见性时,div 将控制可见性,但在此报表查看器情况下不控制,例如,如果我在 div 中设置可见=true,并且在 page_load 可见 = false 中,即使单击按钮!ispostback = true,其将可见 = false ..但 div 内的所有标签或按钮都将可见 = true ..sigh~~这总是让我想知道为什么.. :( 我认为页面加载中的报告查看器是一种特殊情况,这意味着如果它在 page_load 中设置为 visible=false,即使在回发后它也将始终为 visible=false。有什么想法吗?无论如何谢谢^.^
  • 好的,告诉我,当您的页面第一次运行时,您想先显示哪个报告,如果您使用div 技术,则无需将visible = false 设置为您的控件在div里面使用,只需要设置div可见属性即可。
  • 您的意思是只设置 div 的可见性而不是可见性报告查看器,对吗?是的 @rahul 我已经这样做了..仍然不起作用。我已经用谷歌搜索了这些问题,但仍然没有解决这个问题..
  • 好的,告诉我你的页面什么时候第一次运行,然后你想先显示哪个报告。
  • 对不起,我不明白你的意思:p @rahul
猜你喜欢
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-16
  • 2013-08-27
  • 2015-11-21
  • 1970-01-01
相关资源
最近更新 更多