FastReport 使用入门 (二)

上部分  我们将格式大概都画好了

下面 我们将Datatable的每列绑定到  我们添加的table控件上 。然后打开table控件的事件 双击选中 ManualBuild 事件 添加代码

private void tbYZ_ManualBuild(object sender, EventArgs e)
{
DataSourceBase data1 = Report.GetDataSource("dtYZ"); // 获取DataSet中表名为Table1的数据源
data1.Init(); // 初始化

// tbYZ.PrintRow(0); // 控件Table1打印第0行
// tbYZ.PrintColumns(); // 每打印一行,都要调用 PrintColumn或PrintColumns

while(data1.HasMoreRows) // 打印重复循环的行
{
tbYZ.PrintRow(0);
tbYZ.PrintColumns();
data1.Next(); // 读取下一行
}
}

这里是 设置table的数据源  然后循环打印的方法  这里设置完成以后, 我们开始用C#调用FastReport 首先添加引用 FastReport的相关dll 添加一个Form 然后注册Fastreport 控件 ,将PreviewControl放到Form上  然后在Form的Load事件中传入 Dataset 和 Parameters。需要注意的是 在传入dateset中的Datatable的名字一定要和FastReport格式中的 Datatable名字一样。

   private void fm住院处方笺打印对话框_Load(object sender, EventArgs e)
        {
            Report freport = new Report();
            freport.Preview = this.previewControl1;
            freport.Load(@"住院处方笺.frx");
            this.previewControl1.Report.RegisterData(dsyz);
            freport.SetParameterValue("日期", DateTime.Now.ToString("yyyy年MM月dd日"));
            this.previewControl1.Report.SetParameterValue("费别", listInfo[0]);
            this.previewControl1.Report.SetParameterValue("住院号", listInfo[1]);
            this.previewControl1.Report.SetParameterValue("科室", listInfo[2]);
            this.previewControl1.Report.SetParameterValue("姓名", listInfo[3]);
            this.previewControl1.Report.SetParameterValue("性别", listInfo[4]);
            this.previewControl1.Report.SetParameterValue("年龄", listInfo[5]);
            this.previewControl1.Report.SetParameterValue("门诊号", listInfo[6]);
            this.previewControl1.Report.SetParameterValue("住址或电话号码", listInfo[7]);
            this.previewControl1.Report.SetParameterValue("临床诊断", listInfo[8]);
            this.previewControl1.Report.SetParameterValue("医师", listInfo[9]);
            this.previewControl1.Report.SetParameterValue("药品金额及讫章", listInfo[10]);
            this.previewControl1.Report.Show();
        }

  

时间: 2024-10-15 05:03:45

FastReport 使用入门 (二)的相关文章

[WebGL入门]二十,绘制立体模型(圆环体)

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指正. 本次的demo的运行结果 立体的模型 这次稍微喘口气,开始绘制立体模型.这里说的[喘口气]是指本次的文章中没有出现任何新的技术知识点.只是利用到现在为止所介绍过的内容,来绘制一个立体的圆环体.到现在为止,只绘制了三角形和四边形,当然,在三维空间中绘制简单的多边形也没什么不对,但是缺点儿说服力.

kafka入门二:Kafka的设计思想、理念

本节主要从整体角度介绍Kafka的设计思想,其中的每个理念都可以深入研究,以后我可能会发专题文章做深入介绍,在这里只做较概括的描述以便大家更好的理解Kafka的独特之处.本节主要涉及到如下主要内容: Kafka设计基本思想 Kafka中的数据压缩 Kafka消息转运过程中的可靠性 Kafka集群镜像复制 Kafka 备份机制 一.kafka由来 由于对JMS日常管理的过度开支和传统JMS可扩展性方面的局限,LinkedIn(www.linkedin.com)开发了Kafka以满足他们对实时数据流

Netty入门二:开发第一个Netty应用程序

    既然是入门,那我们就在这里写一个简单的Demo,客户端发送一个字符串到服务器端,服务器端接收字符串后再发送回客户端. 2.1.配置开发环境 1.安装JDK 2.去官网下载jar包 (或者通过pom构建) 2.2.认识下Netty的Client和Server 一个Netty应用模型,如下图所示,但需要明白一点的是,我们写的Server会自动处理多客户端请求,理论上讲,处理并发的能力决定于我们的系统配置及JDK的极限. Client连接到Server端 建立链接发送/接收数据 Server端

Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)

原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问这个类不存在的方法,那么它会去访问”魔术方法__call()” 用户访问一个不存在的操作—>解决:给每个控制器都定义个_empty()方法来处理 第二个解决方法:定义一个空操作 [空模块处理] 我们使用一个类,但是现在这个类还没有被include进来. 我们可以通过自动加载机制处理__autoloa

转 Python爬虫入门二之爬虫基础了解

静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTML.JS.CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了. 因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容

Redbean:入门(二) - Find

<?php require_once 'rb.php'; $tableName = 'link'; //连接数据库 R::setup('mysql:host=localhost;dbname=hwibs_model','root',''); //链接表 R::dispense($tableName); //1.获取对象记录句柄,如果不存在id的情况下就无法使用load,那么可以使用find方法进行查找 $result = R::find($tableName,'id > 4');//普通使用

DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表

原文:DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 一.创建应用程序并添加报表 启动 MS Visual Studio (2005.2008.或 2010). 在 Visua

MongooooooooooooooooooooDB入门二:基本概念介绍

前言 工欲善其事必先利其器.在学习MongoDB之前,需要对MongoDB的一些基本概念有系统的了解. 所以,本篇文章主要介绍MongoDB的一些基本概念,这些概念的定义均来自<MongoDB权威指南>,关于此书想要了解更多,请点击此处. 我尽量使用最简洁的语言来尽可能完整地描述这些基本概念,如有遗漏或不妥之处欢迎指正. 文档 文档是MongoDB的核心概念之一.多个键值对有序地放在一起便是文档.例如: {"name":"Jerry","sco

Flex入门(二)——Flex+BlazeDs+J2ee小实例

首先来简单介绍一下BlazeDS. BlaseDS的核心功能包括RPC Services(远程过程调用服务) 和Messaging Service(消息服务).BlazeDS是一个基于服务器的Java远程调用(remoting)和web消息传递(messaging)技术,使得后台的Java应用程序可以和运行在浏览器上的Flex应用程序能够互相通信.简单来说一个BlazeDS应用包括客户端(Flex或AIR应用程序)和一个服务端(J2EE程序).BlazeDS在期间起着承上启下的作用,Flex和B

Unity3D入门(二):碰撞检測

碰撞器由来 1.系统默认会给每一个对象(GameObject)加入?一个碰撞组件(ColliderComponent),一些背景对象则能够取消该组件. 2.在unity3d中,能检測碰撞发生的方式有两种,一种是利用碰撞器,还有一种则是利用触发器.这两种方式的应用很广泛.为了完整的了解这两种方式,我们必须理解下面概念: (一)碰撞器是一群组件,它包括了非常多种类,比方:Box Collider,Capsule Collider等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上.(