2012-11-01 2 views
1

나는 텍스트 상자와 tablix가 포함 된 reportviewer가 있습니다. 테이블 릭스는 데이터 소스를 사용하여 채워집니다 (쿼리 문자열의 매개 변수가 2 개인 저장된 프로 시저를 사용하여 데이터를 가져옵니다). 쿼리 문자열의 값을 내 reportviewer 텍스트 상자의 값으로 지정하려면 어떻게합니까? 같은 뭔가 :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(); 
    } 

뒤에 : 이 ReportfFrom 쿼리 문자열 val1과는 문자열 발 2.

마크 업을 조회 할 수 있습니다.

+0

당신의 접근 방식이 올바른 것처럼 보입니다. 보고서에 매개 변수 "ReportParameter1"을 작성하십시오. 아직 작성하지 않고 텍스트 상자에 바인드하면 작동합니다 – Irfan

답변

0

텍스트 상자에 원하는 값으로 보고서를 저장하면 보고서 정의에서 xml을 처리하여 값을 가져올 수 있지만 권장하지는 않습니다. 보고서 외부의 텍스트 상자를 사용하는 것이 더 좋으며 데이터를 가져 오기 위해 쿼리에 제공하는 것이 좋습니다.

위의 내용 이외에는 사용자가 지정한 보고서의 텍스트 상자에서 값을 가져 오는 것이 불가능합니다. 보고서를 저장 한 다음 보고서의 정의를 처리하고 가치 당신이하고있는 무슨을 당신이 모르는 경우에 아픔.

관련 문제