C#水晶报表数据获取方法有很多,那么这里主要向你介绍一个通过提取模式的方法来实现C#水晶报表数据获取方法,那么具体的实现步骤是什么呢?让我们看看具体的实现代码:
C#水晶报表数据获取方法实例演示:
- using System;
- using System.Drawing;
- using System.Collections;
- using System.ComponentModel;
- using System.Windows.Forms;
- using CrystalDecisions.CrystalReports.Engine;
- using CrystalDecisions.Shared;
- namespace DLLCrystal
- {
- /// ﹤summary﹥
- /// frmCrystalView 的摘要说明。
- /// ﹤/summary﹥
- internal class frmCrystalView : System.Windows.Forms.Form
- {
- private CrystalDecisions.Windows.Forms.CrystalReportViewer crView;
- /// ﹤summary﹥
- /// 必需的设计器变量。
- /// ﹤/summary﹥
- private System.ComponentModel.Container components = null;
- private string[] strInfo;
- public frmCrystalView(string[] strInfomation)
- {
- //
- // C#水晶报表数据的获取方法之Windows 窗体设计器支持所必需的
- //
- InitializeComponent();
- //
- // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
- //
- strInfo=strInfomation;
- }
- /// ﹤summary﹥
- /// C#水晶报表数据获取方法之清理所有正在使用的资源。
- /// ﹤/summary﹥
- protected override void Dispose( bool disposing )
- {
- if( disposing )
- {
- if(components != null)
- {
- components.Dispose();
- }
- }
- base.Dispose( disposing );
- }
- #region Windows 窗体设计器生成的代码
- /// ﹤summary﹥
- /// C#水晶报表数据获取方法之设计器支持所需的方法 - 不要使用代码编辑器修改
- /// 此方法的内容。
- /// ﹤/summary﹥
- private void InitializeComponent()
- {
- this.crView = new CrystalDecisions.Windows.Forms.CrystalReportViewer();
- this.SuspendLayout();
- //
- // crView
- //
- this.crView.ActiveViewIndex = -1;
- this.crView.Dock = System.Windows.Forms.DockStyle.Fill;
- this.crView.Location = new System.Drawing.Point(0, 0);
- this.crView.Name = "crView";
- this.crView.ReportSource = null;
- this.crView.ShowRefreshButton = false;
- this.crView.Size = new System.Drawing.Size(640, 509);
- this.crView.TabIndex = 0;
- //
- // frmCrystalView
- //
- this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
- this.ClientSize = new System.Drawing.Size(640, 509);
- this.Controls.Add(this.crView);
- this.Name = "frmCrystalView";
- this.Text = "预览报表";
- this.Load += new System.EventHandler(this.frmCrystalView_Load);
- this.ResumeLayout(false);
- }
- #endregion
- private void frmCrystalView_Load(object sender, System.EventArgs e)
- {
- ReportDocument rdView=new ReportDocument();
- rdView.Load(@strInfo[0]);
- foreach (Table tbView in rdView.Database.Tables)
- {
- TableLogOnInfo tliView=new TableLogOnInfo();
- tliView=tbView.LogOnInfo;
- tliView.ConnectionInfo.ServerName=strInfo[1];
- tliView.ConnectionInfo.DatabaseName=strInfo[2];
- tliView.ConnectionInfo.UserID=strInfo[3];
- tliView.ConnectionInfo.Password=strInfo[4];
- tbView.ApplyLogOnInfo(tliView);
- }
- string [] strParameter=strInfo[5].Split(new char[] {+});
- for (int i=0;i﹤strParameter.Length;i++)
- {
- string [] strSubParam=strParameter[i].Split(new char[] {=});
- ParameterValues pvValue=new ParameterValues();
- ParameterDiscreteValue pdvValue=new ParameterDiscreteValue();
- pdvValue.Value=strSubParam[1];
- pvValue.Add(pdvValue);
- rdView.DataDefinition.
- ParameterFields[strSubParam[0]].ApplyCurrentValues(pvValue);
- }
- crView.ReportSource=rdView;
- this.Location = new Point(0, 0);
- this.Size = new System.Drawing.Size(1024,744);
- }
- }//C#水晶报表数据获取方法
- }
C#水晶报表数据获取方法的具体事宜就向你介绍到这里,希望那个对你了解和学习C#水晶报表数据获取方法有所帮助。
【编辑推荐】