社区
数据库相关
帖子详情
如何将DBGrid中的数据打印出来?(高分)
sunnyasp
2003-04-17 03:57:18
我将数据库中的数据输出到DBGrid,现想将DBGrid中的数据打印出来,有哪位高手赐教吗?
...全文
52
12
打赏
收藏
如何将DBGrid中的数据打印出来?(高分)
我将数据库中的数据输出到DBGrid,现想将DBGrid中的数据打印出来,有哪位高手赐教吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunnyasp
2003-04-18
打赏
举报
回复
晕,楼上的大哥,你~~~
ChristianBoris
2003-04-18
打赏
举报
回复
在HTML中编辑
<TR>
<TD>
<DIV id="t"> <INPUT id="btnPreview" onclick="t.style.display='none';document.all.WebBrowser.ExecWB(7,1);t.style.display='block';" type="button" value="打印预览" name="Button4" runat="server"> <INPUT id="btnDirctPrint" onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印" name="Button3" runat="server"> <INPUT id="btnSet" onclick="document.all.WebBrowser.ExecWB(8,1)" type="button" value="页面设置" name="Button2" runat="server">
</DIV>
</TD>
</TR>
<OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" VIEWASTEXT>
<PARAM NAME="ExtentX" VALUE="26">
<PARAM NAME="ExtentY" VALUE="26">
<PARAM NAME="ViewMode" VALUE="0">
<PARAM NAME="Offline" VALUE="0">
<PARAM NAME="Silent" VALUE="0">
<PARAM NAME="RegisterAsBrowser" VALUE="0">
<PARAM NAME="RegisterAsDropTarget" VALUE="1">
<PARAM NAME="AutoArrange" VALUE="0">
<PARAM NAME="NoClientEdge" VALUE="0">
<PARAM NAME="AlignLeft" VALUE="0">
<PARAM NAME="NoWebView" VALUE="0">
<PARAM NAME="HideFileNames" VALUE="0">
<PARAM NAME="SingleClick" VALUE="0">
<PARAM NAME="SingleSelection" VALUE="0">
<PARAM NAME="NoFolders" VALUE="0">
<PARAM NAME="Transparent" VALUE="0">
<PARAM NAME="ViewID" VALUE="{0057D0E0-3573-11CF-AE69-08002B2E1262}">
</OBJECT>
sunnyasp
2003-04-18
打赏
举报
回复
还没搞定~~~
ujjcel
2003-04-18
打赏
举报
回复
好用吗?
qwertyasd
2003-04-17
打赏
举报
回复
功能更加强劲,增加多行表头的功能,新增更多事件,加强了打印期间对报表样式
的控制,可随意改变打印内容。
下载地址:http://www.csdn.net/cnshare/soft/15/15471.shtm
reprint
使用说明
本控件可打印 datasource,dbgrid,stringgrid.
一 、控件属性:
1、colstitle 设置报表的列标题属性
(1) Print:boolean;是否打印
(2) Font:tfont;字体
(3) Rowsline:tpen;横线样式
(4) Colsline:tpen;竖线样式
(5) Alignment:talignment;对齐方式
(6) Rowspace:integer;行间距
(7) EveryPage:boolean;是否每页打印
(8) EveryRow:boolean;是否每行打印
(9) titlearray:tstrings;怎加标题组 (使用方法见附带demo)
(10) rows:integer;设置默认列标题打印行数
2、datasource 绑定 datasource
3、dbgrid 绑定 dbgrid
4、stringgrid 绑定 stringgrid
PrintObject 选择打印的对象(datasource 、dbgrid、 stringgrid )
5、pagefooter 页脚 pageheader 页眉
(1) Text:string;内容
(2) Font:tfont;字体
(3) Print:boolean;是否打印
(4) Alignment:talignment;对齐方式
6、detail 设置要打印的明细数据属性
(1)arrange 设置明细字段排列方向
Horizontal 横向打印(默认的一般打印)
Vertical 竖向打印(字段竖向排列适合打印字段内容较长的报表如“会议纪录”)
(2)aotureturn 打印明细字段时,如果字段超过列的宽度是否允许自动换行
(3)colsline 设置竖线属性引用tpen类
(4)footer 设置明细尾 (设置同pagefooter 页脚 pageheader 页眉)
(5)frame 设置明细边框属性引用tpen类
(6)head 设置明细头(设置同pagefooter 页脚 pageheader 页眉)
(7)rowsline 设置横线属性引用tpen类
(8)rowspace 设置明细行的高度
(9)top 明细与标题的距离
(10)Alignment对齐方式
7、page 设置纸张
(1) leftmargin:real;左边距
(2) rightmargin:real;右边距
(3) topmargin:real;顶边距
(4) bottommargin:real;底边距
(5) pagesize:TPageSize;纸张类型
(6) Height:real;高度
(7) width:real;宽度
(8) Orientation:TPrinterOrientation;打印方向
注意:设置纸张的宽度和高度需把pagesize设为Custom
8、title 设置标题
(1) Print:boolean; 是否打印
(2) Text:tstrings; 内容可设置多行
(3) Font:tfont;字体
(4) Alignment:talignment;对齐方式
(5) top:integer; 距纸张顶部距离
(6) Rowspace:integer;行距
(7) EveryPage:boolean;是否每页打印
二 、控件方法:
(1) preview 预览
(2) print 打印
(3) SaveToFile() 保存为报表文件
(4) SaveToStream() 保存为流(然后就可把整个报表存到数据库了很方便哦! ~_~)
(5) PrintFile() 打印报表文件
(6) PrintStream() 打印流(流的数据库存取就不用多说了吧)
(7) PreviewFile() 预览文件
(8) PreviewStream() 预览流
(9) OptionToStream() 报表的属性保存为流
(10) OptionFromStream() 从流中得到报表属性
(11) OptionPost()在打印期间改变了报表属性,要想立即生效调用此方法。
(12) PaintText(Text:string) 覆盖原有打印的字符,一般在能返回当前打印的内容的事件中使用。(见控件事件)
三、 控件事件:
(1) AfterPrint 打印后
(2) BeforePrint 打印前
(3) OnPrintDetail(RecordNumber: Integer)在打印每一栏明细前触发此事件,
返回参数:RecordNumber返回当前打印行数。
(4) OnPrintDetailField(RecordNumber,FieldIndex: Integer; FieldText: String);
在打印明细的每个字段都会触发此事件。
返回参数:RecordNumber返回当前打印行数。
FieldIndex 字段索引
FieldText字段内容
(5) OnPrintTitle(Row: Integer; Text: String)打印每行标题都会触发此事件。
返回参数:row当前打印的行
Text当前打印的内容
(6) OnPrintColsTitleField(Row, FieldIndex: Integer; FieldName: String);
打印列标题字段时触发此事件
返回参数:row当前打印的行
FieldIndex当前打印的字段索引
FieldName当前打印的字段名称
(7) OnPrintColsTitle(Row: Integer)
打印每行列标题时触发此事件
返回参数:row当前打印的行
四、注意事项
(1) text 属性,输入“|#|”打印页码值,如果想打印页码可输入“第|#|页” 输入“|RecordCount|”打印 记录数
(2) 不同的打印机,打印和预览效果可能有一点点不同(保证数据打印完全正确一致)。本人用一台针式和一台激光打印机做测试,
开始差别较大后经过调试基本一致,不知其他打印机如何。
(3) 纸张大小以及横向、竖向自动适应系统默认也可设置。
(4) 各列的宽度按比例,适应纸张宽度打印。
qxj
2003-04-17
打赏
举报
回复
你DBGRID中的数据不就是通过查询得到的一个数据集嘛.
你只要把你的查询后的数据集打印出来就好了,
如下;
with query do
begin
close;
sql.clear;
sql.add('select * from table');
try
open;
except
showmessage('error');
end;
end;
query1.FieldByName('fields0').value//这就是你DBGRID中的数据
sunnyasp
2003-04-17
打赏
举报
回复
TO:klmyczq(雪中青松)
能给我《PrintAtOnces.pas》的下载地址吗?
我没有Delphi的安装盘!谢谢
klmyczq
2003-04-17
打赏
举报
回复
可以安装第三方组件《PrintAtOnces.pas》然后调用其打印方法即可!十分好用!!
sunnyasp
2003-04-17
打赏
举报
回复
不太清楚,楼上的能说清楚一点吗?
qxj
2003-04-17
打赏
举报
回复
打印数据集
ChristianBoris
2003-04-17
打赏
举报
回复
去下DBGRIDEH控件
esu
2003-04-17
打赏
举报
回复
DBGridEh可以直接打印内容
你通过她的数据集打印就是
基础
各位兄弟,在SDK编程
中
如果实现窗口分割呢?请问怎么得到一个函数的执行时间,单位毫秒!如何调试asp组件呀。用vc++调试编制的组件怎样画一个箭头?
高分
请教如何限制程序运行的方法?求助:通过编程DirectX抓屏-----...
vb/vb.net开发精粹(10)
vb
中
如何用api快速读取大于1G的txt
数据
啊 dll类
中
声明public变量在该dll添加的窗体
中
如何调用 VB6 类模块,再引用另一个类模块的问题 MsgBox a$, ,b$,c$为什么调试不通? 请教AUTOCAD+vba问题——区域复制/镜像 ...
我在CSDN参与的3000个帖子
在从paradox的
数据
库文件
db
中
的
数据
导出或显示出来的时候,有的
中
文字符变为乱码? 173: Access2000无法打开,各位务必帮帮忙!在线等。 174: 明天是我儿子生日,兼祝各位圣诞节快乐 175: 圣诞节、...
用VB如何写可以发送mail?
id=101124]如何向文本
中
添加
数据
而不是覆盖 ?[/url] [url=http://www.vbbaike.com/show.asp?id=101123]
高分
求用hook任务管理器的API方法,隐藏进程的代码[/url] [url=http://www.vbbaike.com/show.asp?id=101122]...
关于一个用VB编写的PING工具的问题
我在互联网上找到一个用VB编写的程序,是PING一个计算机的IP是否能通的工具,我改了改,使用ADO重
数据
库
中
循环读取IP地址,并将测试后的状态写入到
数据
库,作完后运行是可以测试,但是速度太慢了,每循环测试一个IP...
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章