리포트를 2개 추가하고, 각 리포트를 하나의 뷰어화면에서 선택할 수 있도록 했습니다.
원형차트도 하나 추가 했습니다! (리포트의 차트도 옵션이 정말 많습니다)
보고서에서 바로 PDF 저장 기능을 만들었는데. 에러가 발생하네요!(__)
해결을 못해서! 좀더 찾아보고 해결되는 데로 메세지 남겨 놓겠습니다.
MoneyBookMDB_Day04.zip
7.63MB
private void toolStripButton2_Click(object sender, EventArgs e)
{
var datestr = lbDate.Text.Split('~');
var sd = DateTime.Parse(datestr[0]);
var ed = DateTime.Parse(datestr[1]);
var rep = new Microsoft.Reporting.WinForms.LocalReport();
//그래프선택
if (cmbReport.SelectedIndex == 0) //일별원장
{
rep.ReportPath = @"Report1.rdlc";
}
else if (cmbReport.SelectedIndex == 1) //기간별집계
{
rep.ReportPath = @"ReportSumDay.rdlc";
}
else if (cmbReport.SelectedIndex == 2) //지출현황(차트)
{
rep.ReportPath = @"ReportSumGrp.rdlc";
}
//데이터조회(DB -> Dataset)
this.ta.Fill(this.DataSet1.Data, sd, ed);
//데이터 정의
var DsInfo = new Microsoft.Reporting.WinForms.ReportDataSource();
DsInfo.Name = "DataSet1";
DsInfo.Value = this.DataSet1.Data;
rep.DataSources.Clear();
rep.DataSources.Add(DsInfo);
var p = new List<Microsoft.Reporting.WinForms.ReportParameter>();
p.Add(new Microsoft.Reporting.WinForms.ReportParameter("DateS", datestr[0]));
p.Add(new Microsoft.Reporting.WinForms.ReportParameter("DateE", datestr[1]));
rep.SetParameters(p);
var renderdata = rep.Render("PDF", "<DeviceInfo></DeviceInfo>");
var saved = new SaveFileDialog();
saved.Filter = "pdf|*.pdf";
saved.FileName = "report.pdf";
if(saved.ShowDialog() == DialogResult.OK)
{
System.IO.File.WriteAllBytes(saved.FileName, renderdata);
Pub.log.Add("pdf save : " + saved.FileName);
Util.MsgI("PDF 저장완료\n" + saved.FileName);
}
}
'SIMPLE C# > 실전' 카테고리의 다른 글
[SIMPLE C#] 가계부(MDB)를 만들자 (06/설치프로젝트작성) - 완료 (0) | 2020.09.18 |
---|---|
[SIMPLE C#] 가계부(MDB)를 만들자 (05/마감작업) (1) | 2020.09.17 |
[SIMPLE C#] 가계부(MDB)를 만들자 (03/보고서추가) (0) | 2020.09.15 |
[SIMPLE C#] 가계부(MDB)를 만들자 (02/단축키및검색) (0) | 2020.09.12 |
[SIMPLE C#] 가계부(MDB)를 만들자 (01/데이터베이스연결) (0) | 2020.09.11 |