크리스탈 리포트에서 파라미터 넘겨받아 값을 넣고 출력하는게 생각보다 힘드네요^^;
크리스탈 리포트가 프로젝트에 추가되어 있고
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.ParameterDiscreteValue 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.ParameterDiscreteValue();
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 저두 파란얼음님 처럼....쓰구 있습니다...