0
"employee"라는 단일 테이블로 "ReportDataSet.xsd"로 정의 된 데이터 세트가 있다고 가정 해 봅니다. 이것을 수동으로 채우려면 어떻게해야합니까? 채워진 DataSet을 보고서를 생성하는 데 사용할 다른 함수로 반환 할 수 있습니까? 제가 지금하고있는 일이 여기 있습니다. 그러나 그것이 옳은 것인지 확실하지 않습니다.수동으로 데이터 세트 채우기
ReportDataSet ds = new ReportDataSet();
ReportDataSet.employeeRow empRow = ds.employee.AddemployeeRow(
employeeId, name, dateOfBirth, Address, Phone
);
return ds;
여기에 문제가있다 : 나는 그것을 디버깅 및 VS2010의 디버거 결과보기에서 데이터를 볼 수 있습니다,하지만 난 데이터 집합 (아래)를 사용하여 생성 크리스탈 리포트는 항상 빈 나온다.
EmployeeReport rpt = new EmployeeReport(); //EmployeeReport.rpt
ReportDataSet rds = GetDataSet();
rpt.Load();
rpt.SetDataSource(rds);
저는 뷰어를 사용하지 않고 곧바로 보고서를 작성합니다. 결과 PDF에는 템플릿 (이미지 등)이 있지만 데이터는 없습니다.
FileStream fStream = new FileStream("c:\\quote.pdf", FileMode.CreateNew);
using (fStream)
{
MemoryStream oStream = (MemoryStream)rpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
byte[] data = oStream.ToArray();
fStream.Write(data, 0, data.Length);
}
오류가 있습니까? 이것이 잘못된 것이라고 생각하게하는 원인은 무엇입니까? – Bearcat9425
보고서 데이터 원본을이 데이터 집합으로 올바르게 설정 하시겠습니까? 그 코드를 보여줄 수도 있습니다. – Bearcat9425
@ Bearcat9425 그렇게 생각합니다. 간단히 함수에서 데이터 집합을 가져 와서 보고서 개체에서 SetDataSource를 호출하면됩니다. – rafale