プログレスバー(グラデーション画像)のように見えるクリスタルレポートにグラフを実装したいと思います。パーセンテージに応じてマークを含む円を配置する必要があります。この画像に示すように。誰でも私がこれを達成する方法を助けてください
1529 次
1 に答える
2
Crystal Reports は、このタイプのグラフをネイティブでサポートしていません。
概算は次のとおりです。
- バーの画像と円形の画像を作成します(スコアは省略)
- 新しいレポートを作成します(サブレポートになります)
- 詳細セクションに 2 つの画像を配置します。互いに整列する
- 3 つの数値パラメーターを追加: 低、高、スコア
- バー画像の左端に Low パラメータを追加します。右端に High パラメータを追加
- 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 は条件式を無視しています。私はいくつかの調査を行い、結果を投稿します。
それ以外の場合は、Chart の置き換えを検討してください。
于 2012-09-19T14:13:38.867 に答える