CAFE

ASP.NET 질문

[asp.net]크리스탈 리포트에서 parameter값을 어떻게 넣나요?asp.net(C#)

작성자BATOU|작성시간04.04.09|조회수337 목록 댓글 5

크리스탈 리포트에서 파라미터 넘겨받아 값을 넣고 출력하는게 생각보다 힘드네요^^;

크리스탈 리포트가 프로젝트에 추가되어 있고

Untyped ReportDocumet로 되어 있구요

텍스트박스에서 국가명을 입력받으면 파라미터값으로 넣고 거기에 해당하는 값들을 가져

오는 건데요 값이 나오질 않습니다.

어디가 문젠지 알수 없군요.....아시는 분 답변부탁해요^^

 

  protected System.Web.UI.WebControls.TextBox tbCountryName;
  protected System.Web.UI.WebControls.Button btSearchCountry;
  protected WebTest1.param1 param11;
  protected CrystalDecisions.CrystalReports.Engine.ReportDocument reportDoc2;
  protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;

 

  //Parameter Field Setting
  protected CrystalDecisions.Shared.ParameterDiscreteVal‎ue discreteParam;

  protected CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition   paramField;
  protected CrystalDecisions.Shared.ParameterValues currentValues;

  

//루트디렉토리에 대한 파일시스템 경로
  private string getPath()
  {
       string Path;
       Path = Request.PhysicalApplicationPath;
       return Path;
  }

 

  //파라미터에 값 넣기
  private void setParameter(string paramValue)
  {
       discreteParam = new CrystalDecisions.Shared.ParameterDiscreteVal‎ue();
       paramField = reportDoc2.DataDefinition.ParameterFields["국가명"];
       discreteParam.Value = paramValue;
       currentValues=paramField.CurrentValues;
       currentValues.Add(discreteParam);
       paramField.ApplyCurrentValues(currentValues);
  }

 

  private void Page_Load(object sender, System.EventArgs e)
  {
       reportDoc2.Load(@getPath() + "param1.rpt");
       DataBind();

       //텍스트박스에 값이 없으면 기본으로 "미국"
       if(tbCountryName.Text.Equals(""))
       {
            tbCountryName.Text="미국";
            setParameter(tbCountryName.Text);
       }
  }

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자파란얼음 | 작성시간 04.04.09 저라면 SQL로 파라미터를 받고, DataSet에 올린 다음 bind하는 방법을 쓸텐데요..누가 아시는 분이 대답해주셨으면 좋겠네요..지도 공부하는 중이라.ㅋ.ㅋ.
  • 작성자심재운 | 작성시간 04.04.09 크리스탈을 공부해야하나 ㅡ.ㅡㅋ 모르니 답변을 못드리네염 ^^
  • 작성자Passion | 작성시간 04.04.09 레포트에 뿌릴 Data Source 를 저장프로시저로 만든다음 프로시저에 INPUT 매개변수에 값을 넣어서 그 매개변수 값에 딸 쿼리문 결과 셋이 달라지게 하면 되지 않을까여..저도 그방법을 쓰고 있는데 직접 리포트에 파라미터값을 넘기는거 보다는.... 허접한 답변이었습니다.
  • 작성자BATOU 작성자 본인 여부 작성자 | 작성시간 04.04.09 답변 주신분들 감사합니다만 제가 아직 SQL을 잘 못해서요..무슨 말인지 잘 모르겠네요^^;; MSDN보구 수정해가면서 만들어 본건데 잘 안되는군요^^ 암튼 말씀하신 부분으로도 공부를 해봐야 할듯 하군요...
  • 작성자whitezone | 작성시간 04.04.09 저두 파란얼음님 처럼....쓰구 있습니다...
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼