找回密码
 立即注册

QQ登录

只需一步,快速开始

养樂多、

注册会员

2

主题

4

帖子

16

积分

注册会员

积分
16
  • 38

    金币

  • 2

    主题

  • 4

    帖子

最新发帖
养樂多、
注册会员   /  发表于:2022-12-19 14:00  /   查看:2817  /  回复:5
20金币

我目前所做的报表是以C1FlexReport为基础制作的。
detail部分有一个功能:

在下图①部分和②部分,都有图片需要显示,大致效果如下图

所以我在这两个部分都放了图片控件,其中的图片数据来源是从数据库中获取的bytea形式数据,所以我在③部分,放了两个field用于承接数据,然后将图片控件的url引到这两个field上。

目前我想要实现有图片的时候,自动按比例缩放显示在图片区域中,下方所跟着的两个text也可以根据自身文本进行自动行高等操作;要是没有图片,下方的text就顶到detail的最上方——top = 0。所以我在VB的detail.onFormat中写了以下代码。

  1. <div>If IsEmpty(picture) Or IsNull(picture) Then
  2. txtworkpoint.Top = 0
  3. txtworkpoint.Height = Detail.Height
  4. EndIf</div>
复制代码

如果只有detail只有一个图片区域+text的话,这样子是可行的。效果如下图:

但是加上右边的一部分的话,②部分的顶部有一个txtstandard,尽管它的行高是自动缩放的,但是出来的效果如下图所示:
左边的那一套莫名会出现右边txtstandard高度一样的空白
或者
在左边那一套上方控件的anchor为top,下方图片控件anchor为bottom的情况下,图片还是重叠了
等以上情况。


请问我应该怎么实现?需要提供啥东西的话请再联系我。


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

理论上来说应该这样写的,else中的语句是保证有图片时恢复原位置 测试了一下这样写多个图片也不会有问题

5 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-19 14:00:34
来自 6#
理论上来说应该这样写的,else中的语句是保证有图片时恢复原位置

  1. If IsEmpty(Picture) Or IsNull(Picture) Then
  2. model1.Top = 0
  3. model1.Height = Detail.Height
  4. Else
  5. model1.Top = pic1.Height
  6. EndIf
复制代码

测试了一下这样写多个图片也不会有问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-19 15:58:35
2#
可以直接发一个你这边的模板文件上来,我帮你测试看看
回复 使用道具 举报
养樂多、
注册会员   /  发表于:2022-12-19 16:15:44
3#
Richard.Ma 发表于 2022-12-19 15:58
可以直接发一个你这边的模板文件上来,我帮你测试看看

唔,是整个文件打包发给你是吗?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-12-19 19:04:33
4#
flxr文件发我就行
回复 使用道具 举报
养樂多、
注册会员   /  发表于:2022-12-20 16:07:18
5#

https://pan.baidu.com/s/1ZWdx2n2Hc83RWdorN6LWOQ?pwd=1234
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部