C#水晶報(bào)表數(shù)據(jù)獲取方法實(shí)例淺析
作者:佚名
C#水晶報(bào)表數(shù)據(jù)獲取方法是什么呢?我們?cè)趯?shí)際的開發(fā)中是如何獲取C#水晶報(bào)表數(shù)據(jù)呢?這里我們主要向你講述了通過提取模式的方法來實(shí)現(xiàn)。
C#水晶報(bào)表數(shù)據(jù)獲取方法有很多,那么這里主要向你介紹一個(gè)通過提取模式的方法來實(shí)現(xiàn)C#水晶報(bào)表數(shù)據(jù)獲取方法,那么具體的實(shí)現(xiàn)步驟是什么呢?讓我們看看具體的實(shí)現(xiàn)代碼:
C#水晶報(bào)表數(shù)據(jù)獲取方法實(shí)例演示:
- 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﹥
- /// 必需的設(shè)計(jì)器變量。
- /// ﹤/summary﹥
- private System.ComponentModel.Container components = null;
- private string[] strInfo;
- public frmCrystalView(string[] strInfomation)
- {
- //
- // C#水晶報(bào)表數(shù)據(jù)的獲取方法之Windows 窗體設(shè)計(jì)器支持所必需的
- //
- InitializeComponent();
- //
- // TODO: 在 InitializeComponent 調(diào)用后添加任何構(gòu)造函數(shù)代碼
- //
- strInfo=strInfomation;
- }
- /// ﹤summary﹥
- /// C#水晶報(bào)表數(shù)據(jù)獲取方法之清理所有正在使用的資源。
- /// ﹤/summary﹥
- protected override void Dispose( bool disposing )
- {
- if( disposing )
- {
- if(components != null)
- {
- components.Dispose();
- }
- }
- base.Dispose( disposing );
- }
- #region Windows 窗體設(shè)計(jì)器生成的代碼
- /// ﹤summary﹥
- /// C#水晶報(bào)表數(shù)據(jù)獲取方法之設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改
- /// 此方法的內(nèi)容。
- /// ﹤/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 = "預(yù)覽報(bào)表";
- 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#水晶報(bào)表數(shù)據(jù)獲取方法
- }
C#水晶報(bào)表數(shù)據(jù)獲取方法的具體事宜就向你介紹到這里,希望那個(gè)對(duì)你了解和學(xué)習(xí)C#水晶報(bào)表數(shù)據(jù)獲取方法有所幫助。
【編輯推薦】
責(zé)任編輯:仲衡
來源:
opent.cn