2010-05-26 6 views
7

Crystal Reports를 C# Windows 응용 프로그램에서 만들고 싶습니다. 요점은 .net 객체를 내 보고서 데이터 소스로 사용하고 싶습니다. 인터넷에서 샘플 코드를 찾았습니다. 그들과 잘 작동 :크리스탈 보고서의 데이터 소스로 여러 객체 설정

 ArrayList Mainlst = new ArrayList(); 
     Mainlst.Add(new testOBJ { Firstname = "test1", Lastname = "test11" }); 
     Mainlst.Add(new testOBJ { Firstname = "test2", Lastname = "test21" }); 
     Mainlst.Add(new testOBJ { Firstname = "test3", Lastname = "test31" }); 
     Mainlst.Add(new testOBJ { Firstname = "test4", Lastname = "test41" }); 
     Mainlst.Add(new testOBJ { Firstname = "test5", Lastname = "test51" }); 
     testCrystalReport rpt = new testCrystalReport(); 
     rpt.SetDataSource(Mainlst); 
     crystalReportViewer1.ReportSource = rpt; 

하지만이 반복되는 내용은 예를 들어 학교 정보를 추가 개체를 보내려면,하지만 난이 여분의 개체를 보낼 수 없습니다, 나는 여러 객체를 보낼 수있는 솔루션이있다 크리스탈 리포트? 물론 내가 크리스탈 리포트 데이터 소스에 대해 여러 개의 datatable 및 dataset을 사용할 수 있다는 것을 알고 있지만 여기서는 오브젝트 및 IEnumerables를 크리스탈 리포트의 데이터 소스로 사용하려고합니다.

답변

0

디자인 모드에서이 작업을 수행하면이 기능이 지원되지 않는다는 메시지가 나타납니다. 데이터 소스 사이의 외부 참조와 아마

... 당신 같은 1.EmployeeClass 2.EmpployeeSkillClass

는 다음을 수행 많은 데이터 소스가있는 경우

21

:

 List<EmployeeClass> employeeList = new List<EmployeeClass>(); 
     employeeList.Add(new EmployeeClass() { EmpNo = "001", EmpName = "Supitchaya" }); 

     List<EmpployeeSkillClass> employeeSkillList = new List<EmpployeeSkillClass>(); 
     detList.Add(new EmpployeeSkillClass() { EmpNo = "001", Skill="C#" }); 
     detList.Add(new EmpployeeSkillClass() { EmpNo = "001", Skill="Java" }); 

// 생성을 ReportDocument 인스턴트 :

 ReportDocument report = new RptEmployee(); //Crsytal report file 

// 각 테이블에 데이터 소스를 설정합니다. 각 테이블의 인덱스

가 // 수집되어 있는지 확인 (발견 디버그 모드에서 실행 유형의 직원 또는 EmployeeSkill있는 테이블 [0]지도)

 report.Database.Tables[0].SetDataSource(employeeList); 
     report.Database.Tables[1].SetDataSource(employeeSkillList); 

     crystalReportViewer1.ReportSource = report; 

// 완료!

+0

내 보고서가 비어있는 이유를 알고 싶습니다. – Enzero

+2

감사합니다. 내 인생을 살았습니다.) – ertan2002

+0

@Enzero 방금 귀하의 질문을 보았습니다. 나는 네가 그 해답을 가지고 있다고 생각한다. 늦은 답변 죄송합니다 – Supitchaya

관련 문제