阿泰的软件实用主义

水晶报表/BOE

博客园 首页 新随笔 联系 订阅 管理
  176 Posts :: 9 Stories :: 2046 Comments :: 38 Trackbacks
本帖作为五月份问题、建议收集帖,与本博客相关的内容可参考 http://www.cnblogs.com/babyt/archive/2008/01/20/1046392.html


请不要通过网站短信息或留言方式提问,那样我收不到邮件通知,不能及时回复你的问题。请在本帖中以评论方式提问。

我会集中在每天的某个时段回答问题(一般会在晚上)。

本轮支持将与5月30日终止,之后将有一个月的繁忙期,将不能及时回答各位的问题

请到CSDN论坛(http://forum.csdn.net/SList/DotNETReport/)寻求更快的帮助,推荐daisylh supper168
posted on 2008-05-04 10:16 阿泰 阅读(414) 评论(59)  编辑 收藏 网摘 所属分类: A_Blog通告

Feedback

#1楼  2008-05-04 22:06 stj [未注册用户]
我在使用vb6.0 和水晶报表9,想在vb中向水晶报表中的参数字段传输参数,在网上搜索了一下,看到一下的代码:
carp.ParameterFields(1).ClearCurrentValueAndRange
carp.ParameterFields(1).AddCurrentValue ("myhgyp")
carp.ParameterFields(2).ClearCurrentValueAndRange
carp.ParameterFields(2).AddCurrentValue (CInt("3"))
carp.ParameterFields.GetItemByName("gg").ClearCurrentValueAndRange
但是在vb中输入的时候却看不到ParameterFields这个属性,是什么原因呢?刚刚学习水晶报表,极度菜鸟,所以请务必帮忙。
  回复  引用    

#2楼 [楼主] 2008-05-05 18:55 阿泰      
@stj

Dim x As New CRAXDRT.Application
Dim y As New CRAXDRT.Report
Dim z As CRAXDRT.ParameterFieldDefinition

Set y = x.OpenReport(App.Path & "\1.rpt")
Set z = y.ParameterFields.GetItemByName("aa")
z.AddCurrentValue "xxxx"

  回复  引用  查看    

阿泰兄
好久不见阿
一切都好吧
我在做报表时碰到
水晶报表开始得不到总页数,得到市的数字是很到的一个数值,非得到最后一页才能够得到总页数?请问该如何开始就可以得到总页数呢?
  回复  引用    

#4楼 [楼主] 2008-05-05 22:23 阿泰      
@Richard lee 2008

之前好像看到你提过这个问题,将totalpagecount这个放在页面上试试看

  回复  引用  查看    

#5楼  2008-05-06 10:22 stj [未注册用户]
@stj

谢谢阿泰
  回复  引用    

#6楼  2008-05-07 10:11 shengle [未注册用户]
用的visal2003 ,水晶报表10.现在有个问题请教阿泰兄,主子报表中,如在子报表中第二页要求显示表头,显示不了.现在只能显示第一页
  回复  引用    

#7楼 [楼主] 2008-05-07 10:45 阿泰      
@shengle
子报表只有报表页尾、报表页眉,没有页眉页脚
如果要实现每页的效果,则可以使用组的方式来模拟页
将数据分组,每组一页,然后利用组页眉、组页脚来模拟页眉页脚

但是要看数据是不是可行。。
  回复  引用  查看    

#8楼  2008-05-09 10:28 shengle [未注册用户]
用组的形式实现,但是现在是要求一个组的下面的记录如果超过一页,在另一页中没有报表页眉.客户要求在第二页也要显示.

还有一个问题.水晶报表能不能导出到excel中,且要求excel中有相应的报表头,报表尾.服务器不可以安装excel文件.这个能否实现.或通过其他方式
  回复  引用    

#9楼 [楼主] 2008-05-09 10:53 阿泰      
@shengle

第一个问题我再想想
第二个问题可以实现,水晶报表导出Excel的时候,服务器不需要安装Excel,是依赖内置的组件实现的,
但是部署水晶报表应用或安装水晶报表时,需要定制安装,把这部分组件装上
  回复  引用  查看    

#10楼  2008-05-09 13:09 合乎 [未注册用户]
阿泰
请问crystal report server v10 professional edition的运行,主机需要的最底配置是?
  回复  引用    

#11楼 [楼主] 2008-05-09 13:20 阿泰      
@合乎

CRE的配置与使用该程序的用户数要关,特别是并发数目。
如果并发数目在10个以下,则可使用较低的配置
一般来说普通CPU,1G内存以上(配2G虚拟内存),
C盘(或临时文件所在磁盘)剩余空间要足够大(最好在20G左右,不应小于10G)即可。
另外不要将数据库和CRE部署在同一台机器上

如果并发数到了100的级别,而且报表数据比较复杂的话,可能需要做群集。
  回复  引用  查看    

#12楼  2008-05-09 13:30 合乎 [未注册用户]
非常感谢``
你太强悍了~~
  回复  引用    

#13楼  2008-05-13 09:28 shengle [未注册用户]
谢谢你的回复.水晶报表的图表能不能作柱形与曲线叠加一起的图表
  回复  引用    

#14楼 [楼主] 2008-05-13 10:18 阿泰      
@shengle

图表做不出“柱形与曲线”的叠加效果,但是可以加趋势线
点中图表上的某个立柱,点右键,选趋势线,里面有项目可以实现类似的效果
  回复  引用  查看    

阿泰
我现在做的水晶报表里有一个“时间”的字段,要达到的效果如下:
时间
00-01
01-02
02-03
。。。
22-23
23-24
其中00,02,03...23,24表示一天二十四小时,我想把这一列的数据写死了,想问你一下怎样可以实现,我用的是Visual Studio2005自带的水晶报表,谢谢!
  回复  引用    

还有一个问题哦,我的报表中有以下字段:
污水浓度 污水流量 超标流量
污水浓度和污水流量都是从数据表中查询出来的,所以可以把这两个字段从字段资源管理器拖到RPT文件中。
我想实现的效果是:当污水浓度〉4.00时,超标流量=污水流量,否则,超标流量=0。我把超标流量动态设置成公式字段无法实现这个功能。然后我在dataset中添加“超标流量”这个字段并赋值,但是字段资源管理器中并没有这个字段。我想问阿泰,我的第二个思路可不可以实现我想要的功能?如果能实现的话,该怎样动态创建“超标流量”这个字段并给它赋值?
  回复  引用    

#17楼 [楼主] 2008-05-14 15:47 阿泰      
@午夜飘零

15楼问题,建议你使用SQL来实现。
可以参考这个帖子里的内容,帖子中的内容是实现每月日期补齐的,很容易改造
http://topic.csdn.net/u/20080505/23/69a83cf6-e6f1-4771-abf1-14a089810bac.html
http://topic.csdn.net/u/20080509/20/4c8772d1-3761-46d5-a8f5-126f9abc5273.html

16楼的问题则很容易实现
构建一个公式 xxx
if {污水浓度字段}〉4 then
{污水流量字段}
else
0

然后把该公式放置到现在的污水浓度的位置即可



  回复  引用  查看    

谢谢阿泰的解决办法。16楼的问题我已经解决了,只待把公式写入到程序中。15楼的问题我试着用SQL语句写了一下,语句中要牵涉到行列转换的问题,如下:
select case when isdate(CollectionDateTime)>0 then CollectionDateTime else '-' end
污水浓度,污水流量
from(
select(
select cast(year(max(cast(CollectionDateTime as datetime))) as varchar(4))+'-'+
cast(month(max(cast(CollectionDateTime as datetime))) as varchar(2))+'-'+
cast(b.dd as varchar(2)) from BaseDayData)CollectionDateTime,
SUM(CASE paramid WHEN 1001 THEN paramvalue ELSE 0 END) AS [污水浓度],
SUM(CASE paramid WHEN 1003 THEN paramvalue ELSE 0 END) AS [污水流量]
from BaseDayData

left join(select 1 as dd union select 2 union select 3 union select 4 union select 5 union
select 6 union select 7 union select 8 union select 9 union select 10 union
select 11 union select 12 union select 13 union select 14 union select 15 union
select 16 union select 17 union select 18 union select 19 union select 20 union
select 21 union select 22 union select 23 union select 24 union select 25 union
select 26 union select 27 union select 28 union select 29 union select 30 union
select 31) b
on day(cast(CollectionDateTime as datetime))=b.dd
where CollectionDateTime<'2008-04-18'
group by CollectionDateTime)a


执行的时候老出现错误:消息 8120,级别 16,状态 1,第 1 行
选择列表中的列 'b.dd' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
不知道怎么回事,希望阿泰能帮忙解决一下。
我的表结构如下:
ID paramid paramvalue CollectionDateTime
1 1001 2.65 2004-1-5 10:10:10
1 1003 5.36 2004-1-6 20:05:10

  回复  引用    

#19楼  2008-05-15 18:46 yk_wxj [未注册用户]
阿泰你好,我存储过程中使用了临时表,再建数据集时,调用已经存在的这个存储过程,会报错,提示已生成select 语句,对象#temptab(临时表名)无效,该怎么处理?
我原来想了另一种思路,就是在存储过程中用表变量代替临时表,但由于我存储过程比较复杂,使用了动态sql,updata语句,insert语句.表变量就受到了限制.
现在不知道该怎么办了,你有什么好办法没?
等待回复,谢谢
  回复  引用    

#20楼 [楼主] 2008-05-15 22:13 阿泰      
@yk_wxj

我没有用过这么复杂的语句,
一般对于复杂的逻辑,中间会有一些抽取的处理过程
到最后返回给CR的SQL逻辑,都不是太复杂
不知道这个语句是否可以通过一些view来间接处理一下呢?

  回复  引用  查看    

#21楼 [楼主] 2008-05-15 23:09 阿泰      
@午夜飘零

18楼的问题

先select 好再group by
以下为select中的语句,在这个基础上再进行group by

select
case when isdate(CollectionDateTime)>0 then CollectionDateTime else '-' end as [日期],
污水浓度,污水流量
from(
select(
select
cast(year(max(cast(CollectionDateTime as datetime))) as varchar(4))+'-'+
cast(month(max(cast(CollectionDateTime as datetime))) as varchar(2))+'-'+
cast(b.dd as varchar(2)) from BaseDayData )CollectionDateTime,
CASE paramid WHEN 1001 THEN paramvalue ELSE 0 END AS [污水浓度],
CASE paramid WHEN 1003 THEN paramvalue ELSE 0 END AS [污水流量]
from BaseDayData

left join(
select 1 as dd
union select 2 union select 3 union select 4 union select 5 union
select 6 union select 7 union select 8 union select 9 union select 10 union
select 11 union select 12 union select 13 union select 14 union select 15 union
select 16 union select 17 union select 18 union select 19 union select 20 union
select 21 union select 22 union select 23 union select 24 union select 25 union
select 26 union select 27 union select 28 union select 29 union select 30 union
select 31) b
on day(cast(CollectionDateTime as datetime))=b.dd
where CollectionDateTime<'2008-04-18'
)a
  回复  引用  查看    

#22楼  2008-05-16 11:56 yk_wxj [未注册用户]
谢谢回复
  回复  引用    

#23楼  2008-05-16 16:00 Tramp      
阿泰,水晶报表中怎样通过建立条形图报表?
一表中有DeptNo、Ratio两列;其中表中的数据为:
A 0.26
B 0.11
C 0.86
怎样通过条形图报表报表做出来?
能否给出详细的步骤
谢谢
  回复  引用  查看    

#24楼  2008-05-16 17:27 Tramp      
谢谢阿泰我自己已经搞定了
  回复  引用  查看    

#25楼 [楼主] 2008-05-16 17:55 阿泰      
@Tramp

呵呵~~
  回复  引用  查看    

#26楼  2008-05-19 16:01 yk_wxj [未注册用户]
阿泰,我想问一下交叉表的显示列可以设置自动折行吗?怎么设置?谢谢
  回复  引用    

#27楼  2008-05-20 13:45 hjb8023      
阿泰您好,我现在的项目中要用到水晶报表,因为用的少,不熟,现在问题多多,想请教您几个问题:
1。我在报表的页眉中插入了一张图片,现在要求这张图片可以从公共的地方读取替换,就是说图片是可替换的,就像报表参数一样在后台可以控制显示的内容,并不是放在数据集中的,这个要怎么实现呀??

2。在报表中打印有两种方式,ActiveX 和 PDF 我现在选择的是Activex的,在本地是可以弹出打印框的,但是我放到服务器上就不行了,Web.Cofig中我也配置了,如下:
<configSections>
<sectionGroup name="businessObjects" >
<sectionGroup name="crystalReports" >
<section name="printControl" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" />
</sectionGroup>
</sectionGroup>
</configSections>

<businessObjects>
<crystalReports>
<printControl>
<add key="url " value="http://192.168.0.124/PrintControl.cab" />
</printControl>
</crystalReports>
</businessObjects>
还有PrintControl.cab包我也放到了放在端口号为8023项目下面了,192.168.0.124是我本地的IP地址,在本地是可以出来打印的也正常,但我放到服务器上就不行了,做法是一样的只是把IP改成服务器的IP,包我也放上去了 ,可是打印的框就是出不来.... ??

3。在报表中有的页面表底部会多出一条线,在他的下一页页眉和详细资料间的一条线就没了,其他页面却正常的,如下:
第2页
----------------------------
页眉(放的是表格的头)
----------------------------
详细资料列表1
----------------------------
详细资料列表2
----------------------------
详细资料列表3
----------------------------
-----------------------------多出的线条
页脚


第3页
----------------------------
页眉页眉(放的是表格的头)
??????????????????这里少线条
详细资料列表1
----------------------------
详细资料列表2
----------------------------
详细资料列表3
----------------------------
页脚

其他的第4,5...都是正常的,而且其他报表的设置是一样的但却没有这个现象,20张只有几张有这个情况???????

现在项目到了最后了却出来这些问题,很着急呀,阿泰帮我解决下,谢谢。。。。
我的Email:hjb_963@163.com QQ:418655939
公司不能登QQ的,但是晚上我在线的,我的博客园白天也在线的,期待您的回复.....

  回复  引用  查看    

#28楼 [楼主] 2008-05-20 16:24 阿泰      
@yk_wxj

26楼
汇总列不可以折行,你可以适当缩小边距和缩小字体,减小每个列占用的空间
  回复  引用  查看    

#29楼 [楼主] 2008-05-20 16:30 阿泰      
@hjb8023

27楼问题

第一个问题我实际做个例子
第二个问题还是要确认下cab包的位置,我看你说你用了8023端口
那这里是不是需要更改为<add key="url " value="http://服务器IP:8023/PrintControl.cab" /> 呢?
第三个问题,我需要看一下模板文件。
  回复  引用  查看    

#30楼  2008-05-20 17:46 codetian [未注册用户]
在交叉表中有多个列名,如何写代码来实现隐藏列?
  回复  引用    

#31楼 [楼主] 2008-05-20 18:30 阿泰      
@codetian

这个列,是交叉表专家里的列,还是预览或者运行时最终显示出来的列呢?
  回复  引用  查看    

阿泰 又来找你帮忙了
如何对公式字段进行汇总啊?
例如:我在报表里设置了Average ( {@排放量})
然后提示:无法汇总该字段。
该怎么办啊?
谢谢!
  回复  引用    

#33楼  2008-05-21 12:56 hjb8023      
--引用--------------------------------------------------
阿泰: @hjb8023

27楼问题

第一个问题我实际做个例子
第二个问题还是要确认下cab包的位置,我看你说你用了8023端口
那这里是不是需要更改为&lt;add key=&quot;url &quot; value=&quot;<a href="http://服务器IP:8023/PrintControl.cab&quot;" target="_new">http://服务器IP:8023/PrintControl.cab&quot;</a> /&gt; 呢?
第三个问题,我需要看一下模板文件。
--------------------------------------------------------

阿泰我用的是VS2005中自带的水晶报表,
1。我在报表的页眉中插入了一张图片,现在要求这张图片可以从公共的地方读取替换,就是说图片是可替换的,就像报表参数一样在后台可以控制显示的内容,并不是放在数据集中的,这个要怎么实现呀??
补充:公共的地方读出的图片是数据流

现在第一个问题很急,不知到可以把你的例子发个我吗?谢谢。。。。


  回复  引用  查看    

#34楼 [楼主] 2008-05-21 14:05 阿泰      
@hjb8023

33楼问题

我这几天一直没得空,我提供个思路你做一下

首先需要建个表,保存这个字段(image或blob类型)
(也有不用建表的方法,比这个麻烦,以后可以chang)
以这个字段为基础做报表
然后将图片数据流存到这个字段

每次更换图片后做更新字段,然后刷新报表。

  回复  引用  查看    

#35楼  2008-05-21 17:01 yk_wxj [未注册用户]
遇到一个简单但是不知道为什么的问题,水晶报表一点导出或打印按钮,页面就刷新一下,然后就什么也没有了.为什么啊,希望指教..............
  回复  引用    

#36楼  2008-05-21 18:47 hjb8023      
--引用--------------------------------------------------
阿泰: @hjb8023

33楼问题

我这几天一直没得空,我提供个思路你做一下

首先需要建个表,保存这个字段(image或blob类型)
(也有不用建表的方法,比这个麻烦,以后可以chang)
以这个字段为基础做报表
然后将图片数据流存到这个字段

每次更换图片后做更新字段,然后刷新报表。

--------------------------------------------------------

可是我在报表中已经绑定了一个 XMLSchema.xsd 数据集,可以同时绑定另一个吗,要怎么帮定呢?我想同时绑定两个 XMLSchema.xsd 一个供图片和表头,一个供报表详细资料使用,可以实现吗,要怎样实现呢,请教,请教哦,谢谢。。。。

  回复  引用  查看    

#37楼 [楼主] 2008-05-21 22:48 阿泰      
@yk_wxj

35楼问题,你可以尝试用27楼的方法,配置一下web.config,注意cab的路径
另外就是,你是否用了遨游、世界之窗,ie7等禁止弹窗的浏览器,如果是的话,把你的网站设到白名单里去卡看
  回复  引用  查看    

#38楼 [楼主] 2008-05-21 22:53 阿泰      
@午夜飘零 (32楼)

如果你用了一些复杂条件的公式或者公式里面又嵌入了公式,那么是不能在用标准汇总的
解决方法就是再做另外一个公式,呵呵~~
  回复  引用  查看    

#39楼 [楼主] 2008-05-22 01:54 阿泰      
@hjb8023 (36楼)

是可以使用两个xsd的,xsd里的表名不一样就可以了。
不过总还是要使用一个从数据库读的ds或者自己拼凑的ds来实现

既然你的xsd方式已经实现出来了,建议你参考一下这篇
读取文件流写入库,从库中显示
http://www.cnblogs.com/babyt/archive/2008/03/18/1111881.html

我本来想晚上匀点时间,结果还是没匀出来
希望你能早日完成任务

  回复  引用  查看    

#40楼  2008-05-23 09:27 codetian [未注册用户]
在交叉表中有多个列名,如何写代码来实现隐藏列?

@codetian

这个列,是交叉表专家里的列,还是预览或者运行时最终显示出来的列呢?

是 是交叉表专家里的列
  回复  引用    

#41楼  2008-05-23 15:09 hjb8023      
--引用--------------------------------------------------
阿泰: @hjb8023 (36楼)

是可以使用两个xsd的,xsd里的表名不一样就可以了。
不过总还是要使用一个从数据库读的ds或者自己拼凑的ds来实现

既然你的xsd方式已经实现出来了,建议你参考一下这篇
读取文件流写入库,从库中显示
<a href="http://www.cnblogs.com/babyt/archive/2008/03/18/1111881.html" target="_new">http://www.cnblogs.com/babyt/archive/2008/03/18/1111881.html</a>

我本来想晚上匀点时间,结果还是没匀出来
希望你能早日完成任务

--------------------------------------------------------

具体要怎么实现呢,我的一个 xsd 对应一个 IList 数据集,另一个 xsd 对应的是 DataSet ,两个数据集的字段是不一样的,要怎么做呢,期待。。。

  回复  引用  查看    

#42楼  2008-05-23 17:01 boyle [未注册用户]
阿泰,能不能多发一点水晶报表图表方面的文章,搜了好久这一方面的文章太少了
  回复  引用    

#43楼  2008-05-23 18:04 hjb8023      
--引用--------------------------------------------------
hjb8023: --引用--------------------------------------------------
阿泰: @hjb8023 (36楼)

是可以使用两个xsd的,xsd里的表名不一样就可以了。
不过总还是要使用一个从数据库读的ds或者自己拼凑的ds来实现

既然你的xsd方式已经实现出来了,建议你参考一下这篇
读取文件流写入库,从库中显示
&lt;a href=&quot;http://www.cnblogs.com/babyt/archive/2008/03/18/1111881.html&quot; target=&quot;_new&quot;&gt;http://www.cnblogs.com/babyt/archive/2008/03/18/1111881.html&lt;/a&gt;

我本来想晚上匀点时间,结果还是没匀出来
希望你能早日完成任务

--------------------------------------------------------

具体要怎么实现呢,我的一个 xsd 对应一个 IList 数据集,另一个 xsd 对应的是 DataSet ,两个数据集的字段是不一样的,要怎么做呢,期待。。。

--------------------------------------------------------

已经解决,谢谢。。。。

  回复  引用  查看    

#44楼  2008-05-27 14:57 boyle [未注册用户]
阿泰:我的BOSS要求报表一个图表里既要有条形图又要有线图,用EXCEL做都非常麻烦,要用到类似叠加的方法才可做到,现在要求用CR做,我该怎么实现啊(如条形表示月实际销售额,线表示月计划销售额,还要显示出月完成率)?我现在有一个实现的例子,却怎么也看不出它是怎么实现的,特来向你求救。
  回复  引用    

#45楼  2008-05-27 15:17 zyjsjwl [未注册用户]
阿泰你好,水晶报表不能显示动态图片,环境:delphi 7 + crystal 9.2中文版,我试过如下方法:
1、报表上直接指定硬盘上的静态图片:可以显示,JPG或BMP都试过
2、直接写入图片到数据库字段(SQL Server 2000):设计时能够看到图片,通过查询后水晶报表只显示相关数据不显示图片,但查询出来的结果集可以用DBIMAGE组件显示图片。
3、用TClientDataset自己构建一个数据集,根据图片路径生成图片,并将生成的数据集推给水晶报表,数据部分能显示,但仍不能显示图片,字段类型试过ftBlob和ftGraphic

我怀疑是不是ADO dataset字段类型的问题,也就是ADO dataset的blob字段水晶不支持?希望阿泰也能给点建议,我再试试看能否用XML推给水晶


  回复  引用    

#46楼  2008-05-27 15:38 zyjsjwl [未注册用户]
这是我用clientdataset导出为dfxml后,字段类型分别为ftGraphic和ftBlob时,XML文件中图片字段的定义:
<FIELD fieldname="分析图片" attrname="xF59" fieldtype="bin.hex" SUBTYPE="Graphics"/>
<FIELD fieldname="分析图片" attrname="xF59" fieldtype="bin.hex" SUBTYPE="Binary"/>
  回复  引用    

#47楼  2008-05-27 15:56 zyjsjwl [未注册用户]
汗,直接通过crpe组件的SQL属性就能够显示了,看来应该是adoquery and clientdataset数据集字段类型与水晶兼容的问题了。。。
  回复  引用    

#48楼  2008-05-28 13:31 Cesc [未注册用户]
我用的是水晶报表10自带的导出功能,发现导出时不能指定导出文件名,有没有方法实现.
  回复  引用    

#49楼 [楼主] 2008-05-28 21:37 阿泰      
@zyjsjwl(47楼)

恭喜,呵呵~~


  回复  引用  查看    

#50楼 [楼主] 2008-05-28 21:39 阿泰      
@Cesc (48楼)

这个不应该,导出的时候对话框里应该可以修改文件名的
但是如果你要求导出的时候对话框里就是你想要的文件名,那应该是不可以的
这个只能用程序来实现
  回复  引用  查看    

#51楼 [楼主] 2008-05-28 21:40 阿泰      
@boyle(44楼)

如果你看到的话,收下邮件

  回复  引用  查看    

#52楼  2008-05-29 09:15 boyle [未注册用户]
谢谢阿泰,邮件已发,请查收

  回复  引用    

#53楼  2008-05-29 11:41 Bob.Xie      
阿泰你好,我用VS05自带的水晶报表开发,在用code39的字体开发条形码时,网页预览很正常,但点打印跳到pdf文件后,整个条形码变得很小,几乎成了原来的五份之一大小。请问这是什么问题,谢谢。
  回复  引用  查看    

#54楼  2008-05-29 12:40 zyjsjwl [未注册用户]
阿泰,直接用SQL查询数据库灵活性就太差了,能够用本地数据集推给水晶才算比较理想,而现在经过多次测试,发现有如下问题:
1、本地数据集推给水晶后,图片字段不论我用ftBlob还是ftGraphic推给水晶后都不会显示。
2、直接用SQL属性执行数据库查询,运行程序后第一次加载报表时图片不显示,而在不退出程序的情况下再次加载报表文件就会显示图片,这个问题我是百思不得其解。
希望能够得到你的帮助,谢谢!
  回复  引用    

#55楼  2008-05-30 13:32 hjb8023      
阿泰你好,我用VS05自带的水晶报表开发,我想问下打印功能对客户端有什么要求吗?现在在试用中有些客户打印正常,有些却报脚本错误,这是为什么呢?
我现在选择的是 Activex 的打印。。。。
  回复  引用  查看    

阿泰,你好,我用的是水晶报表10,我想捕获水晶报表打印时候的打印事件,就是当点击打印按钮的时候运行的是我自己写的代码,请问怎样获取呀,急等您的回答
  回复  引用    

急等你的回复,谢谢
  回复  引用    

#58楼  2008-05-31 10:18 ximi3978 [未注册用户]
我们公司现在要我做报表与打印。住要功能是实现报表的打印,可是我刚刚开始接触水晶报表,基本不会用,您那有没有例子供我参考下啊。。。。
要求:每次打N张单子,根据条件从数据库中读取,包含一个子报表,子报表的数据根据主报表的一个字段变化。子报表有可能是1行,也有可能是N行,有的字段很长,能不能判断下,如果这一行的某个字段很多,自动换行,而其他的该行数据也都相应的拉伸。还有,能不能判断下,一张单子就让他是一张纸(我用的是发票复印纸),能自动裁剪啊?还有就是我的数据都是在表格中的。。。。我都是用线画的,没有别的方法了吗??(我很愚昧,也很笨,请谅解。谢谢了)


  回复  引用    

#59楼  2008-06-05 10:45 zyjsjwl [未注册用户]
阿泰,直接用SQL查询数据库灵活性就太差了,能够用本地数据集推给水晶才算比较理想,而现在经过多次测试,发现有如下问题:
1、本地数据集TClientDataSet推给水晶后,图片字段不论我用ftBlob还是ftGraphic推给水晶后都不会显示。
2、尝试过使用TTX方式创建报表内容,再用本地数据集推给水晶,图片仍不显示,TTX中图片字段为BLOB,另,发现TTX不支持中文字段名。
3、直接用SQL属性执行数据库查询后,第一次加载报表时,不论SQL语句得到的记录为多少条,报表中显示的记录数始终为数据库中的记录总数。
环境:delphi7+crystal 9.2中文版,希望能够得到你的帮助,谢谢!
  回复  引用    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-06-26 10:14 编辑过
Google站内搜索


China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!

相关文章:

相关链接:



最新IT新闻:
[译稿]微软将 jQuer