Crystal报告自定义图表

时间:2012-09-19 12:58:31

标签: crystal-reports crystal-reports-2008 crystal-reports-2010

我想在水晶报表中实现一个看起来像进度条(渐变图像)的图形,并且应该根据百分比放置包含标记的圆圈。如this Image所示。任何人请帮助我如何实现这个

1 个答案:

答案 0 :(得分:2)

Crystal Reports对此类图表没有本机支持。

这是一个近似值:

  • 创建条形图像和圆形图像(省略分数)
  • 创建一个新报告(它将是一个子报告)
  • 在详细信息部分中放置两个图像;彼此对齐
  • 添加三个数字参数:低,高,分数
  • 将低参数添加到条形图的左边缘;将高参数添加到右边缘
  • 在圆形图像上方添加Score参数和位置;大小以匹配图像的宽度
  • 创建名为“位置”的公式(请参阅下面的文字)
  • 右键单击圆形图像,然后选择尺寸和位置...;将位置公式添加到X位置的条件公式
  • 对Score参数的X位置条件公式
  • 执行相同的操作
  • 取消所有部分,但详细信息
  • 根据需要在其他报告中嵌入子报告

公式文字:

//{@Position}
//
// RETURNS: position in inches
// TODO: set properties to match your layout
//
// width of circle image (inches)
Local Numbervar circleDiameter:= 0.5;

// X position of left edge of image (inches)
Local Numbervar barLeftX:=1;

// X position of right edge of image (inches)
Local Numbervar barRightX:=3;

// width of bar image
Local Numbervar barWidth:= barRightX - barLeftX;

// relative position of score in relation to low and high scores
Local Numbervar relativePosition:={?Score} / ({?High} - {?Low});

// calculate position of image's X position (return value in INCHES)
barLeftX + (barWidth * relativePosition) - (circleDiameter/2)

条件公式文字:

// 
// convert inches to twips (1440 twips/inch); confusing because UI uses inches
//
{@Position}*1440

出于某种原因,Crystal Reports 2008忽略了条件公式。我会做一些研究并发表调查结果。

否则,请考虑替换图表: