水晶报表文本对象排版求助

zgd_net 2005-07-11 02:53:15
我为一个文本对象动态赋值,所赋值字符串比较长,可以达到几行。
然而所期望的打印显示结果和实际打印效果不同。请高手指教。

(1)在报表上添加文本对象txtSum。

主要属性设置如下:

name=txtSum
Width=10050
Height=270

以下属性都通过“格式化...”对话框来设置:

“公用”页——
选择 将对象保持在一起
选择 换页时关闭边框
选择 可以扩大(最大行数:0)

“字体” 页——
字体:宋体
样式:常规
大小:12pt

“段落”页——
首行:0.8厘米
行间距:多个 之 1.3倍正常行间距
对齐:左 (注:选择 两端对齐 不起作用)


(2)为该文本对象动态赋值

Dim GetTextObject As CrystalDecisions.CrystalReports.Engine.TextObject
Dim strSum As String

strSum = "培训项目总结:为配合XXXXXXXXXXXXXXX全系列产品强化培训项目XXXXXXXXXXXXXXX制定了2005年度上半年经销商产品"
strSum = strSum + "知识强化培训计划,从2005-04-09到2005-06-09,我们在XX、XX、XX、XX、XX等城市共举办了55个产品知识"
strSum = strSum + "强化项目培训班,全国共有805家经销商的2018位销售人员参加了为期60天的XXXX全系列产品强化培训项目。"
strSum = strSum + Chr(13) & Chr(10) & "培训课程为: XXXXXXXX"

GetTextObject = rptSale.ReportDefinition.ReportObjects.Item("txtSum")

GetTextObject.Text = strSum

(3)运行报表后,期望打印的效果(右端基本对齐):

培训项目总结:为配合XXXXXXXXXXXXXXX全系列产品强化培训项目XXXXXXXXXXXXXXX制定
了2005年度上半年经销商产品知识强化培训计划,从2005-04-09到2005-06-09,我们在XX、
XX、XX、XX、XX等城市共举办了55个产品知识强化项目培训班,全国共有805家经销商的2018
位销售人员参加了为期60天的XXXX全系列产品强化培训项目。
培训课程为: XXXXXXXX

(4)运行报表后,实际打印的效果(右端参差不齐,尤其第2行右端还有几个字符的空间,竟然就换行了。另外,回车换行字符 Chr(13) & Chr(10)未起作用):

培训项目总结:为配合XXXXXXXXXXXXXXX全系列产品强化培训项目XXXXXXXXXXXXXXX制定
了2005年度上半年经销商产品知识强化培训计划,从2005-04-09到2005-06-09,我们
在XX、XX、XX、XX、XX等城市共举办了55个产品知识强化项目培训班,全国共有805家经销商
的2018位销售人员参加了为期60天的XXXX全系列产品强化培训项目。 培训课程为: XXXXXXXX
...全文
469 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhpu2000 2005-10-26
  • 打赏
  • 举报
回复
希望楼主已经找到问题的所在,并已经成功解决问题。同样的这个问题我也碰到过N次,很是郁闷,到现在也还没有解决
zgd_net 2005-08-03
  • 打赏
  • 举报
回复
再次请求帮助
landlordh 2005-08-03
  • 打赏
  • 举报
回复
水晶报表中好像不支持后台传CHR(13),CHR(10)等控制字符
在设计时却可以

可以用别的方法来实现效果(参数字段):
form_load事件中加入

Dim str As String = "培训项目总结:为配合XXXXXXXXXXXXXXX全系列产品强化培训项目XXXXXXXXXXXXXXX制定了2005年度上半年经销商产品知识强化培训计划,从2005-04-09到2005-06-09,我们在XX、XX、XX、XX、XX等城市共举办了55个产品知识强化项目培训班,全国共有805家经销商的2018位销售人员参加了为期60天的XXXX全系列产品强化培训项目。" & Chr(13) & Chr(10) & "培训课程为: XXXXXXXX"

Dim Pvals As New CrystalDecisions.Shared.ParameterValues
Dim DisVal As New CrystalDecisions.Shared.ParameterDiscreteValue
DisVal.Value = (str)
Pvals.Add(DisVal)
dry.DataDefinition.ParameterFields("t2").ApplyCurrentValues(Pvals)
delbrueck 2005-08-03
  • 打赏
  • 举报
回复
你用的是什么版本?
你可以做个简单的报表看看是不是个BUG,如果是就找个补丁吧。
xwdd129 2005-07-21
  • 打赏
  • 举报
回复
是有这个问题,你试试使用公式字段来设定内容,然后把公式字段拖给文本字段!
zgd_net 2005-07-21
  • 打赏
  • 举报
回复
到底有没有高手?还是有高手不愿相助?还是都无法解决?还是。。。?
帮帮忙好吗?
zgd_net 2005-07-21
  • 打赏
  • 举报
回复
已经测试过,出现同样的现象。
并且不知道怎样为公式字段在代码里动态赋值。

要不就不采用这种动态赋值给文本对象的方式来解决用户的需求(需求是:动态设定报表中较长的文字内容),能有其他的办法吗?请高手赐教!
zgd_net 2005-07-15
  • 打赏
  • 举报
回复
文本对象我已经拉到边了,字体改小点也没有用(再说客户对字体大小行间距都是有要求的)。主要就是不能正常换行导致右端对不齐。
zgd_net 2005-07-14
  • 打赏
  • 举报
回复
这里还是没人啊!!;(
zgd_net 2005-07-14
  • 打赏
  • 举报
回复
不过怎么转移啊。我在这里结贴了,然后在图表区另发新贴吗?
只好这样了。
zgd_net 2005-07-14
  • 打赏
  • 举报
回复
非常感谢 zeusvenus(清柳) ,我试试看
zr1982930 2005-07-14
  • 打赏
  • 举报
回复
你把文本对象拉到足够大&宽,再把字体改小一点,试试!
zeusvenus 2005-07-13
  • 打赏
  • 举报
回复
楼主把这个帖子转移到.NET大区下的图表区去,很快会有答案的.
zgd_net 2005-07-13
  • 打赏
  • 举报
回复
好失望啊,这么多天了也没有人理。
有哪位朋友知道怎么解决吗?多谢您了
itmingong 2005-07-12
  • 打赏
  • 举报
回复
帮顶
tuzhilijiang 2005-07-12
  • 打赏
  • 举报
回复
首先,您的问题,几乎使用过rpt的都曾遇过,也不太清楚原因,反正遇到特殊符号"<"、">"或数字串之类的,它都会自动断截似的换行。水晶报表似乎自已在计算每个字符占位的大小,而且计算看起来并不准确,我也被困扰过,帮你顶一下
zgd_net 2005-07-12
  • 打赏
  • 举报
回复
有朋友可以解决这个问题吗?

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧