Visual Studio 2015中Crystal Report折线图图例显示异常求助
调整Crystal Reports折线图图例的步骤
我之前也碰到过Crystal Reports里图表图例和预期不符的情况,结合你的场景,给你几个可行的调整方案:
1. 先确保数据源的名称取值准确
Crystal Reports的图表图例通常直接沿用数据源字段的取值,所以第一步要先把数据源里的NOME字段值改成你想要的格式。可以修改查询语句,用CASE转换输出:
SELECT CASE NOME WHEN 'TEMPERATURA RILEVATA' THEN 'Temperatura Rilevata' WHEN 'TEMPERATURA STANDARD' THEN 'Temperatura Standard' ELSE NOME END AS NOME, ORA, VALORE FROM #T_TEMPERATURA
这样数据源返回的名称就是目标文本,后续图表配置会直接读取正确值。
2. 在Chart Expert中重新配置数据系列
如果数据源已经正确,但图例还是不对,就需要检查Chart Expert的设置:
- 选中折线图,右键打开Chart Expert
- 切换到Data标签页:
- 确认「On change of」选择的是
NOME字段(这是区分两条折线的核心依据) - 确认「Show values」选择的是
VALORE字段,汇总方式根据你的需求选Sum或Maximum(如果每个时间点每个类型只有一个值,两种都可以)
- 确认「On change of」选择的是
- 切换到Text标签页:
- 这里的图例默认会用「On change of」字段的取值,如果数据源已经修正,这里应该会自动显示正确名称。如果还是不对,点击Series按钮(部分版本可能在Data标签页内),手动给每个系列指定图例名称:「Temperatura Standard」和「Temperatura Rilevata」
3. 用公式编辑器强制指定图例文本
如果上述方法都不生效,可以通过公式手动控制图例:
- 选中图表,右键选择Format Chart
- 切换到Legend标签页,找到「Text」选项,点击旁边的公式编辑器图标(fx)
- 输入以下公式:
If {#T_TEMPERATURA.NOME} = 'TEMPERATURA STANDARD' Then 'Temperatura Standard' Else If {#T_TEMPERATURA.NOME} = 'TEMPERATURA RILEVATA' Then 'Temperatura Rilevata' Else {#T_TEMPERATURA.NOME}
保存公式后,图例就会按照你指定的文本显示。
4. 检查报表分组设置
如果报表存在额外分组,确保图表没有继承多余的分组规则。右键图表选择Change Group Options,确认分组字段只有NOME,避免系列被意外拆分或合并。
内容的提问来源于stack exchange,提问作者bircastri
相关产品推荐
相关产品推荐

