⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changanrpt.cs

📁 水晶报表使用例子
💻 CS
字号:
using System;
using System.Net;
using System.IO;
using System.Text;
using System.Drawing;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using CrystalDecisions.Windows.Forms;

namespace PrintApp
{
	/// <summary>
	/// ChangAnRPT 的摘要说明。
	/// </summary>
	public class ChangAnRPT
	{
		private string strServerName= "";
		private string strDatabase	= "";
		private string strUserID    = "";
		private string strPassword  = "";
		private string strTable		= "";
		private string strCon		= "";
		private string strComputer  = "";
		
		//ADO.NET Variables
		private OleDbConnection adoOleDbConnection;
		private DataSet dataSet;

		public ChangAnRPT()
		{
			strServerName= "";
			strDatabase	 = "";
			strUserID    = "";
			strPassword  = "";
			strTable	 = "";
			strCon		 = "";
			strComputer  = "";
		}

		/// <summary>
		/// 该函数用来实现连接
		/// </summary>
		/// <param name="Server">服务器名</param>
		/// <param name="Database">数据库名</param>
		/// <param name="TableName">表名(可选)</param>
		/// <param name="UserID">用户名</param>
		/// <param name="Password">访问密码</param>
		public void SetConnectionInfo(string Server, string Database, string UserID, string Password)//strTable, strServerName, strDatabase, strUserID, strPassword
		{
			// 设置连接参数
			strCon		= "Provider=SQLOLEDB;";
			strCon		+= "Server=";
			strCon		+= Server;
			strCon		+= ";";
			strCon		+= "Database=";
			strCon		+= Database;
			strCon		+= ";";
			strCon		+= "User ID=";
			strCon		+= UserID;

			if(Password != "")
			{
				strCon	+= ";Password=";
				strCon	+= Password;
			}
	
			strServerName	= Server;
			strDatabase		= Database;
			strUserID		= UserID;
			strPassword		= Password;

			dataSet = new DataSet();
			adoOleDbConnection = new OleDbConnection(strCon);
			adoOleDbConnection.Open();
			strComputer = Dns.GetHostName();
		}
		/// <summary>
		/// 此函数设置打印源
		/// </summary>
		/// <param name="TableName">打印的表名/param>
		private void SetDataSet(string TableName)
		{
			string strSQL = "Select *  From ";
			strSQL += TableName;
			strSQL += " Where ComputerName = ";
			strSQL += "'";
			strSQL += strComputer;
			strSQL += "'";
			strSQL += " Order by OrderNumber";
			strTable = TableName;

			try
			{
				OleDbDataAdapter adoOleDbDataAdapter = new OleDbDataAdapter(strSQL, adoOleDbConnection);
				adoOleDbDataAdapter.Fill(dataSet, strTable);
			}
			catch(OleDbException e)
			{
				string errorMessage = "Message: " + e.Message + "\n" +
					"ErrorCode: " + e.ErrorCode + "\n" +
					"Source: " + e.Source + "\n";
				MessageBox.Show (errorMessage, "异常信息",
					MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
			}
		}

		/// <summary>
		/// 打印出货报表
		/// </summary>
		/// <param name="RpttViewer">报表预览对象</param>
		public void PrintOutStoreLabel(CrystalReportViewer RpttViewer)
		{
			SetDataSet("TmpOutStoreLabel");
            OutStoreLabelRPT rpt = new OutStoreLabelRPT();
			rpt.SetDataSource(dataSet.Tables[this.strTable]);
			if(RpttViewer is CrystalReportViewer)
				RpttViewer.ReportSource = rpt;

			rpt.PrintToPrinter(1, false, 0, 0);
		}

		/// <summary>
		/// 打印入库报表
		/// </summary>
		/// <param name="RpttViewer">报表预览对象</param>
		public void PrintProductLabel(CrystalReportViewer RpttViewer)
		{
			SetDataSet("TmpProductLabel");
			ProductLabelRPT rpt = new ProductLabelRPT();
			rpt.SetDataSource(dataSet.Tables[strTable]);
			if(RpttViewer is CrystalReportViewer)
                RpttViewer.ReportSource = rpt;

			rpt.PrintToPrinter(1, false, 0, 0);			
		}

		public bool FileHandle(string strFullPath, string strDataFile, string strBackFile)
		{
			string sFullFileName;
			FileFun myFile = new FileFun();
			myFile.SetFilePath(strFullPath, strDataFile, strBackFile);            
			if(!myFile.HandleFile())
				return false;

			sFullFileName = strFullPath + strDataFile;
			Path.ChangeExtension(sFullFileName, ".bak");

			return true;
		}

		/// <summary>
		/// 读INI文件
		/// </summary>
		/// <param name="iniFileName">INI文件名</param>
		/// <param name="strSection">Section</param>
		/// <param name="strKey">Key</param>
		/// <returns></returns>
		public string IniReadValue(string iniFileName, string strSection, string strKey)
		{
			IniFile iniFile = new IniFile(iniFileName);
			StringBuilder temp = new StringBuilder(255); 
			int i = iniFile.GetPrivateProfileStringA(strSection, strKey,"", temp, 255, iniFileName);

			return temp.ToString();
		}
		
		/// <summary>
		/// 写INI文件
		/// </summary>
		/// <param name="iniFileName">INI文件名</param>
		/// <param name="Section">Section</param>
		/// <param name="Key">Key</param>
		/// <param name="Value">Value</param>
		public void IniWriteValue(string iniFileName, string Section,string Key, string Value)
		{
			IniFile iniFile = new IniFile(iniFileName);
			iniFile.WritePrivateProfileStringA(Section, Key, Value, iniFileName);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -