使用asp.net c#在Reportviewer中设置文本框值

时间:2012-11-01 01:19:02

标签: c# asp.net reportviewer

我有一个包含文本框和tablix的reportviewer。 Tablix使用数据源填充(使用带有来自查询字符串的2个参数的存储过程获取数据)。 如何将查询字符串的值指定为reportviewer文本框的值。 就像是: 此ReportfFrom查询字符串val1以查询字符串val 2。

标记:

<rsweb:ReportViewer ID="ReportViewer1" runat="server" 
    CssClass="ReportAlignment" Font-Names="Verdana" Font-Size="8pt" 
    InteractiveDeviceInfos="(Collection)" WaitMessageFont-Names="Verdana" 
    WaitMessageFont-Size="14pt" Width="550px">
    <LocalReport ReportPath="TempEmpWageSummaryReport.rdlc">
        <DataSources>
            <rsweb:ReportDataSource DataSourceId="LoadWageSummary" Name="DataSet1" />
        </DataSources>
    </LocalReport>
</rsweb:ReportViewer>
<asp:SqlDataSource ID="LoadWageSummary" runat="server" 
    ConnectionString="<%$ ConnectionStrings:stockerConnectionString %>" 
    SelectCommand="procTempEmployeeWageSummaryReport" 
    SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:QueryStringParameter Name="startDate" QueryStringField="start" 
            Type="String" />
        <asp:QueryStringParameter Name="endDate" QueryStringField="end" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

背后的代码

protected void Page_Load(object sender, EventArgs e)
    {
        string start = Server.UrlDecode(Request.QueryString["start"]);
        string end = Server.UrlDecode(Request.QueryString["end"]);
        //this.ReportViewer1.LocalReport.ReportEmbeddedResource = "TempEmpWageSummaryReport.rdlc";
        string param0 = "GROUPED TEMPORARY EMPLOYEE WAGE SUMMARY REPORT FROM " + start + "to " + end;
        ReportParameter rp = new ReportParameter("ReportParameter1", param0);
        this.ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { rp });

        this.ReportViewer1.LocalReport.Refresh();

        //BindReport();
    }

感谢。

1 个答案:

答案 0 :(得分:1)

如果您在文本框中保存具有所需值的报告,则可以通过报告定义中的xml处理以获取值,但我不建议这样做。 您最好只在报告外部放置一个文本框,然后将其提供给查询以获取数据。

除了上述内容之外,我几乎可以肯定从报告中的文本框中获取用户指定的值是不可能的,除非报告已保存,然后您处理报告&#如果你不知道自己在做什么,那么定义并抓住一个痛苦的价值。