C#水晶报表数据获取方法实例浅析

C#水晶报表数据获取方法有很多,那么这里主要向你介绍一个通过提取模式的方法来实现C#水晶报表数据获取方法,那么具体的实现步骤是什么呢?让我们看看具体的实现代码:

C#水晶报表数据获取方法实例演示:

 
 
 
  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using CrystalDecisions.CrystalReports.Engine;
  7. using CrystalDecisions.Shared;
  8. namespace DLLCrystal
  9. {
  10. /// ﹤summary﹥
  11. /// frmCrystalView 的摘要说明。
  12. /// ﹤/summary﹥
  13. internal class frmCrystalView : System.Windows.Forms.Form
  14. {
  15. private CrystalDecisions.Windows.Forms.CrystalReportViewer crView;
  16. /// ﹤summary﹥
  17. /// 必需的设计器变量。
  18. /// ﹤/summary﹥
  19. private System.ComponentModel.Container components = null;
  20. private string[] strInfo;
  21. public frmCrystalView(string[] strInfomation)
  22. {
  23. //
  24. // C#水晶报表数据的获取方法之Windows 窗体设计器支持所必需的
  25. //
  26. InitializeComponent();
  27. //
  28. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  29. //
  30. strInfo=strInfomation;
  31. }
  32. /// ﹤summary﹥
  33. /// C#水晶报表数据获取方法之清理所有正在使用的资源。
  34. /// ﹤/summary﹥
  35. protected override void Dispose( bool disposing )
  36. {
  37. if( disposing )
  38. {
  39. if(components != null)
  40. {
  41. components.Dispose();
  42. }
  43. }
  44. base.Dispose( disposing );
  45. }
  46. #region Windows 窗体设计器生成的代码
  47. /// ﹤summary﹥
  48. /// C#水晶报表数据获取方法之设计器支持所需的方法 - 不要使用代码编辑器修改
  49. /// 此方法的内容。
  50. /// ﹤/summary﹥
  51. private void InitializeComponent()
  52. {
  53. this.crView = new CrystalDecisions.Windows.Forms.CrystalReportViewer();
  54. this.SuspendLayout();
  55. // 
  56. // crView
  57. // 
  58. this.crView.ActiveViewIndex = -1;
  59. this.crView.Dock = System.Windows.Forms.DockStyle.Fill;
  60. this.crView.Location = new System.Drawing.Point(0, 0);
  61. this.crView.Name = "crView";
  62. this.crView.ReportSource = null;
  63. this.crView.ShowRefreshButton = false;
  64. this.crView.Size = new System.Drawing.Size(640, 509);
  65. this.crView.TabIndex = 0;
  66. // 
  67. // frmCrystalView
  68. // 
  69. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  70. this.ClientSize = new System.Drawing.Size(640, 509);
  71. this.Controls.Add(this.crView);
  72. this.Name = "frmCrystalView";
  73. this.Text = "预览报表";
  74. this.Load += new System.EventHandler(this.frmCrystalView_Load);
  75. this.ResumeLayout(false);
  76. }
  77. #endregion
  78. private void frmCrystalView_Load(object sender, System.EventArgs e)
  79. {
  80. ReportDocument rdView=new ReportDocument();
  81. rdView.Load(@strInfo[0]);
  82. foreach (Table tbView in rdView.Database.Tables)
  83. TableLogOnInfo tliView=new TableLogOnInfo();
  84. tliView=tbView.LogOnInfo;
  85. tliView.ConnectionInfo.ServerName=strInfo[1];
  86. tliView.ConnectionInfo.DatabaseName=strInfo[2];
  87. tliView.ConnectionInfo.UserID=strInfo[3];
  88. tliView.ConnectionInfo.Password=strInfo[4];
  89. tbView.ApplyLogOnInfo(tliView);
  90. }
  91. string [] strParameter=strInfo[5].Split(new char[] {+});
  92. for (int i=0;i﹤strParameter.Length;i++)
  93. {
  94. string [] strSubParam=strParameter[i].Split(new char[] {=});
  95. ParameterValues pvValue=new ParameterValues();
  96. ParameterDiscreteValue pdvValue=new ParameterDiscreteValue();
  97. pdvValue.Value=strSubParam[1];
  98. pvValue.Add(pdvValue);
  99. rdView.DataDefinition.
  100. ParameterFields[strSubParam[0]].ApplyCurrentValues(pvValue);
  101. }
  102. crView.ReportSource=rdView;
  103. this.Location = new Point(0, 0);
  104. this.Size = new System.Drawing.Size(1024,744);
  105. }
  106. }//C#水晶报表数据获取方法
  107. }

C#水晶报表数据获取方法的具体事宜就向你介绍到这里,希望那个对你了解和学习C#水晶报表数据获取方法有所帮助。

当前文章:C#水晶报表数据获取方法实例浅析
文章出自:http://www.shufengxianlan.com/qtweb/news16/353266.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联