C sharp下FastReport.Net报表开发应用.doc

上传人:啊飒飒 文档编号:10545367 上传时间:2021-05-23 格式:DOC 页数:5 大小:46.50KB
返回 下载 相关 举报
C sharp下FastReport.Net报表开发应用.doc_第1页
第1页 / 共5页
C sharp下FastReport.Net报表开发应用.doc_第2页
第2页 / 共5页
C sharp下FastReport.Net报表开发应用.doc_第3页
第3页 / 共5页
C sharp下FastReport.Net报表开发应用.doc_第4页
第4页 / 共5页
C sharp下FastReport.Net报表开发应用.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C sharp下FastReport.Net报表开发应用.doc》由会员分享,可在线阅读,更多相关《C sharp下FastReport.Net报表开发应用.doc(5页珍藏版)》请在三一文库上搜索。

1、C#下FastReport.Net报表开发应用一 、项目应用开发背景 当公司的应用程序发挥作用时,往往体现在报表系统上。由于信息化的发展,我公司先后实施了电极箔生产管理系统,电子铝箔生产管理系统,高纯铝生产管理系统,每个生产管理系统使用的都是OCX报表控件,此报表系统的安装、报表维护工作量大,不方便。经过开发及应用发现FastReport.Net是一款智能报表控件,主要用于设计及产生报表。是业内最专业、功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口。在VS.Net平台做过报表开发的程序员,一定都对此报表强大、高效、集成等特性留下了深刻印象,如果

2、能结合FastReport.Net报表控件这一强大的工具,往往能事半功倍。二、项目技术方案及应用程序部署1、FastReport.Net报表控件主要有FastReport.dll,FastReport.Bars.dll,FastReport.Editor.dll2、注册报表调用方法public static void RegisterFunctions_pd() RegisteredObjects.AddFunctionCategory(MyFuncs, pd Functions); Type myType = typeof(MyFunctionspd); MethodInfo myFunc

3、= myType.GetMethod(pdwj); RegisteredObjects.AddFunction(myFunc, MyFuncs); public static class MyFunctionspd public static string pdwj() return BaseInfo.PDWJName; 3、报表设计及报表文件(.frx)数据库存取 A、报表打印 JC.BLL.检测打印报表 Bll = new JC.BLL.检测打印报表(); JC.Model.检测打印报表Info 检测打印报表Info = new JC.Model.检测打印报表Info(); IList l

4、ist = Bll.Get检测打印报表s( 报表名称= + input产品类型.Text.Trim() + ); if (list.Count 0) byte readfileByte = list0.报表文件; Stream sfileByte = OracleHelper.BytesToStream(readfileByte); if (input产品类型.Text.Length 0) report1.Load(sfileByte); report1.Show(); else MessageBox.Show(样品名称不能为空!, 提示, MessageBoxButtons.OK); els

5、e MessageBox.Show(报表数据为空!, 提示, MessageBoxButtons.OK); return; B、报表设计JC.BLL.检测打印报表 Bll = new JC.BLL.检测打印报表(); JC.Model.检测打印报表Info 检测打印报表Info = new JC.Model.检测打印报表Info(); IList list = Bll.Get检测打印报表s( 报表名称= + input产品类型.Text.Trim() + ); if (list.Count 0) byte readfileByte = list0.报表文件; Stream sfileByte

6、= OracleHelper.BytesToStream(readfileByte); if (input产品类型.Text.Length 0) report1.Load(sfileByte); report1.Design(); else MessageBox.Show(样品名称不能为空!, 提示, MessageBoxButtons.OK); else report1.Design(); C、报表更新及部署 string sFileName = string.Empty;/ 文件名 string sFilePath = string.Empty;/ 文件路径 string sFileExt

7、 = string.Empty; / 文件后缀 JC.BLL.检测打印报表 d = new JC.BLL.检测打印报表(); JC.WinUI.检测打印报表WinUI UI = new JC.WinUI.检测打印报表WinUI(); JC.Model.检测打印报表Info InterFaceModel = new JC.Model.检测打印报表Info(); OpenFileDialog openFile = new OpenFileDialog(); openFile.InitialDirectory = c:; openFile.Filter = Text file (*.frx)|*.f

8、rx|All files (*.*)|*.*; openFile.FilterIndex = 0; if (openFile.ShowDialog() = DialogResult.OK) sFileName = Path.GetFileName(openFile.FileName); sFilePath = Path.GetDirectoryName(openFile.FileName); FileStream fileStream = new FileStream(sFilePath + + input产品类型.Text.Trim() + .frx, FileMode.Open, File

9、Access.Read); BinaryReader filerd = new BinaryReader(fileStream, Encoding.Default); byte fileByte = new bytefileStream.Length; filerd.Read(fileByte, 0, (int)fileStream.Length); if (input产品类型.Text.Trim() + .frx != sFileName) MessageBox.Show(选择上传的文件名不一致!请核对。); return; if (int.Parse(OracleHelper.GetJcR

10、eport(input产品类型.Text.Trim() 1) try InterFaceModel.报表编号 = null; InterFaceModel.报表名称 = input产品类型.Text.Trim(); InterFaceModel.报表文件 = fileByte; InterFaceModel.查询语句 = null; InterFaceModel.备注 = null; d.Insert(InterFaceModel); MessageBox.Show(报表文件写入数据库成功!); catch (Exception ex) MessageBox.Show(错误提示: + ex.S

11、tackTrace); else try d.Delete(OracleHelper.GetreadReportid(input产品类型.Text.Trim(); InterFaceModel.报表编号 = null; InterFaceModel.报表名称 = input产品类型.Text.Trim(); InterFaceModel.报表文件 = fileByte; InterFaceModel.查询语句 = null; InterFaceModel.备注 = null; d.Insert(InterFaceModel); MessageBox.Show(报表文件更新成功!); catch (Exception ex) MessageBox.Show(错误提示: + ex.StackTrace); 此报表系统最在优势可以满足用户自定义报表,功能强大,应用方便等

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1