2012-11-01 27 views
1

我有一个包含文本框和tablix的reportviewer。 使用数据源(使用存储过程使用查询字符串中的2个参数获取数据)填充tablix。 如何指定查询字符串的值作为我的reportviewer文本框的值。 类似: 这ReportfFrom查询字符串val1的查询字符串VAL 2使用asp.net在Reportviewer中设置文本框值c#

标记:

<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(); 
    } 

感谢。

+0

你的方法似乎是正确的只是在报告中创建一个参数“ReportParameter1”,如果你还没有创建并绑定到你的文本框,它应该工作 – Irfan

回答

0

如果在文本框中保存具有值desire的报告,则可以通过报告定义中的xml处理以获取该值,但我不会推荐这一点。 您最好只在报告外部有一个文本框,并将其提交给查询以获取数据。

除了上述内容,我几乎可以肯定的是,从用户指定的报告中的文本框中获取值是不可能的,除非报告被保存,然后通过报告的定义进行处理并抓取如果你不知道自己在做什么,这是一种痛苦。

相关问题