기본적으로 datasource가있는 rpx 파일이 있습니다. 내가 그것을로드하고 사용자가 다른 데이터 소스를 사용하고자하는지 확인하고 싶습니다. 저는 이미 SectionReport 객체의 데이터 소스를 덮어 쓰고 loadlayout 메소드를 보내기 전에 독자를 실행합니다. 필드를 텍스트 상자로 매핑해야합니까, 아니면 데이터 소스를 변경하기위한 항목이 누락 되었습니까?활성 보고서에 대한 rpx 파일의 데이터 원본을 C#으로 덮어 쓰는 방법은 무엇입니까?
0
A
답변
1
원래 데이터 소스와 다른 필드 (열)가있는 경우 보고서의 Fields 컬렉션에 필드를 추가하고 TextBoxes의 DataField 속성을 새 필드로 변경해야합니다 새로운 데이터를 표시하십시오. 다음의 문서 링크에서 '언 바운드 데이터 소스를 사용하려면'항목에서 살펴 보자 : http://arhelp.grapecity.com/webhelp/AR11/index.html#BindReportstoaDataSource.html
편집 : 다음과 같은 방법으로 보고서의 데이터 소스의 바로 연결 문자열을 변경할 수 있습니다
SectionReport rpt = new SectionReport();
XmlTextReader xtr = new XmlTextReader("../../Invoice1.rpx");
rpt.LoadLayout(xtr);
var dataSource = rpt.DataSource as GrapeCity.ActiveReports.Data.OleDBDataSource;
dataSource.ConnectionString = @"Provider = Microsoft.Jet.OLEDB.4.0; Data Source =C:\BILL.mdb; Persist Security Info = False";
rpt.Run();
viewer1.LoadDocument(rpt);
실제로 실제로 필요한 다른 질문은 단지 연결 문자열 만 파일의 연결 문자열을 덮어 쓸 수 있다는 것입니다. – UserEsp