2012-03-19 2 views
0

미리 작성된 Crystal Reports를 보고서 프로젝트로 가져오고 데이터베이스 호출에서 데이터를 채우려고하므로 프로그래밍 방식으로 데이터 소스를 변경할 수 있습니다.Crystal Report에서 강력한 형식의 데이터 집합 스키마를 작성하는 데 사용할 수있는 무료 도구가 있습니까?

많은 테이블에 많은 입력란이 있습니다. 필자는 이러한 데이터 세트를 수동으로 구축하고 싶지 않습니다. Crystal Reports의 메타 데이터를 검사하고 강력한 형식의 ADO.NET 데이터 집합을 생성하는 도구가 있습니까? 그것은 많은 시간을 절약 할 것입니다.

+0

데이터베이스 호출에서 보고서를 채우라고합니다. 중간 데이터 세트에 데이터를로드해야합니까? 또는 데이터베이스에서 직접 보고서를 채울 수 있습니까? –

+0

데이터베이스에서 분리하려고하므로 config 파일의 연결 문자열에서 데이터 소스를 쉽게 제어 할 수 있습니다. –

+0

연결 문자열에서 데이터 소스를 제어 할 수있는 솔루션을 게시했습니다. 그게 충분하지 않은지 알려주세요. –

답변

0

그것은 보이지 않는다.

2

보고서가 프로그래밍 방식으로 가리키는 데이터 소스를 변경할 수 있습니다. 중간 데이터 집합을 사용할 필요가 없습니다. 보고서의 각 테이블을보고 데이터 소스를 업데이트하기 만하면됩니다.

코드 아래 참조 :

using System; 
using System.Windows.Forms; 
using CrystalDecisions.CrystalReports.Engine; 
using CrystalDecisions.Shared; 

namespace WindowsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      ReportDocument cryRpt = new ReportDocument(); 
      TableLogOnInfos crtableLogoninfos = new TableLogOnInfos(); 
      TableLogOnInfo crtableLogoninfo = new TableLogOnInfo(); 
      ConnectionInfo crConnectionInfo = new ConnectionInfo(); 
      Tables CrTables ; 

      cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt"); 

      crConnectionInfo.ServerName = "YOUR SERVER NAME"; 
      crConnectionInfo.DatabaseName = "YOUR DATABASE NAME"; 
      crConnectionInfo.UserID = "YOUR DATABASE USERNAME"; 
      crConnectionInfo.Password = "YOUR DATABASE PASSWORD"; 

      CrTables = cryRpt.Database.Tables ; 
      foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables) 
      { 
       crtableLogoninfo = CrTable.LogOnInfo; 
       crtableLogoninfo.ConnectionInfo = crConnectionInfo; 
       CrTable.ApplyLogOnInfo(crtableLogoninfo); 
      } 

      crystalReportViewer1.ReportSource = cryRpt; 
      crystalReportViewer1.Refresh(); 
     } 
    } 
} 

에서 촬영 : 내가 원하는 같은 메커니즘이 같은 http://csharp.net-informations.com/crystal-reports/csharp-crystal-reports-dynamic-login.htm

관련 문제