这篇文章主要讲解了“C#水晶报表数据获取的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#水晶报表数据获取的方法”吧!
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#水晶报表数据获取的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!