【问题标题】:Crystal Report : Checked on checkbox for each row in tableCrystal Report:选中表格中每一行的复选框
【发布时间】:2020-07-03 01:04:13
【问题描述】:

如果我们从数据库中获取数据,如何显示复选框?

我在数据库中有一个 RankingTable,用于保存评分成就,例如

所以从数据库中的这张表中,我想在水晶报表中显示如下:

我尝试对每个复选框使用下面的公式,但是它不起作用,因为只有第一个复选框在起作用,而另一个复选框仅显示 chr(168)

    IF({RankingTable.question_id}='1' AND {RangkingTable.rank} = '1') THEN  
      Chr(254)  
    ELSE  
      Chr(168)

这是我的前两个问题,如您所见,只有第一个复选框有效,而另一个复选框则变为 false:

有人知道怎么做吗?

【问题讨论】:

  • it is not working 到底是什么意思?请编辑您的问题并添加该信息...
  • 嗨,已经编辑了
  • IF({RankingTable.question_id}='1' ... --> 为什么要“硬编码” id 1
  • 还有其他方法可以确保复选框用于问题 1?
  • Crystal Reports 公式基于每条记录工作。通常它们不应该引用单个数据库记录 (-id)。从公式中删除 {RankingTable.question_id}='1' AND 部分,看看会发生什么......

标签: crystal-reports


【解决方案1】:

您只需要将字体更改为 Wingdings。

默认情况下,CHR(168) 和 CHR(254) ASCII 代码不会创建复选框图形,因为这些是 Diaeresis 和 Latin Small Letter Thorn 的 ASCII 代码。但是,如果您将字体更改为 Wingdings,然后打印这些 ASCII 字符,该字体会将它们更改为投票箱和选中投票箱。

如果您需要进一步的帮助,这里是一个参考链接,详细说明了具体步骤。

https://blogs.sap.com/2012/05/18/how-to-display-a-check-box-and-a-radio-button-in-crystal-report-2011/

【讨论】:

  • 谢谢你,但是我有不同的问题,我仍然很感激你的回答
【解决方案2】:

我想现在我知道我应该将排名分开而不是仅仅在一列“排名”中的问题,我按照@MatSnow 的说法为一列创建一列,它在每条记录的基础上工作,所以我可以使用这个公式并得到我想要的结果

IF({RankingTable.tb}='Yes')THEN
    Chr(254)
ELSE
    Chr(168)

【讨论】:

    猜你喜欢
    • 2016-02-12
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 2022-07-20
    • 2021-03-20
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多