起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 275|回复: 7

【搞定】[问题]DataGrid显示的和打印不一样?

[复制链接]
发表于 2007-8-15 11:00:29 | 显示全部楼层 |阅读模式
开发过程发现ataGrid显示的和打印不一样?

搜索 论坛 发现:
2004年就有此问题,不知道现在怎么解决??


具体问题参见:
http://bbs.justep.com/forum.php? ... 9%C4%D8%A3%BF%2A%2A
回复

使用道具 举报

发表于 2007-8-15 14:29:45 | 显示全部楼层
没有,因为DataGrid属性的自动适应行高,特别影响性能,我们一般不推荐用户使用,

另外,你可以看看用表格文档来实现打印,然后可以通过设置 数据集 区域属性 的 "打印"页面的“自动大小”来属性。具体可以参考用户手册的 6.14.6 的相关说明
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-15 20:07:16 | 显示全部楼层
但是表格文档不如DataGrid功能强大.
回复 支持 反对

使用道具 举报

发表于 2007-8-16 10:57:59 | 显示全部楼层
嗯,确实是这样,目前看来在打印的把列的宽度调整好了。
回复 支持 反对

使用道具 举报

发表于 2007-8-16 17:49:19 | 显示全部楼层
可以通过代码处理:
unit SJWG1;

interface

uses
  Business.System, Business.Model, Business.Forms, Business.Data;

type
  TSJWG1 = class(TFormDoc)
    InfoBroker: TInfoBroker;
    DataSetBrokerBZSJJ1: TDataSetBroker;
    DataGrid: TDataGrid;
    procedure FormDocCreate(Sender: TObject);
  private
    procedure OnSheetCreated(Sender: TObject; ASheet: TSheet);
  public
    {public declarations}
  end;

implementation

procedure TSJWG1.OnSheetCreated(Sender: TObject; ASheet: TSheet);
begin
  TDataSheetArea(ASheet.Areas[0]).AutoSize := TAreaAutoSizeType.astRow;
end;

procedure TSJWG1.FormDocCreate(Sender: TObject);
begin
  TDataGridExporter(DataGrid.Exporter).OnSheetCreated := OnSheetCreated;
end;

end.

这是一个表单文档(数据网格)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-16 20:19:21 | 显示全部楼层
问题: 可否在显示时不自动行高,在打印时自动行高?
回复 支持 反对

使用道具 举报

发表于 2007-8-17 08:54:45 | 显示全部楼层
5楼的做法就是直接设置打印自动行高。

不需要设置datagrid的显示自动行高
回复 支持 反对

使用道具 举报

发表于 2007-9-13 16:51:06 | 显示全部楼层
由于长时间没有反馈,先结贴了,
有问题请开新贴!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-16 01:35 , Processed in 0.040206 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表