문제

안녕하세요,

.NET 객체를 만들었습니다 (예 : A데이터가 포함 된)는 테이블에서 수집되었습니다. 다음으로, 나는 a를 만듭니다 List<A>() 그리고 전달 SetDataSource() 의 방법 ReportDocument 물체. 내가 달리면 예외가 발생했습니다.

"CrystalDecisions.CrystalReports.Engine.DataSourceException: The data source object is invalid"

위의 예외는 모르겠습니다. 오류 메시지는 명확하지 않습니다. 아무도 나를 설명 할 수 있습니까? 예 : .NET 객체는 iserializable에서 상속해야합니다 .....

도움이 되었습니까?

해결책

이 같은 오류가 있었지만 보고서의 데이터 소스로 개체를 사용할 때 발생했습니다. 다음 코드가있었습니다.

var myObj = new MyDataObject();
cr.Load(@"C:\report.rpt");
cr.SetDataSource(myObj);

그리고 같은 오류가 발생했습니다.

setDatasource 라인 변경 :

cr.SetDataSource(new [] { myObj });

도움이되었고 이제는 올바르게 작동하고 있습니다. 다시 말해, 배열로 객체를 감싸십시오. 목록을 사용하는 경우 먼저 배열로 변환하십시오 (.toArray () 메소드 사용).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top