これは最も高度な例です。フィールドの値をテキストとして表示するのではなく、フィールドのサイズを変更してグラフを作成します。
グラフを作成するには、最初にスケール(最大値および最小値として使用するサイズ)を調べる必要があります。「売上チャート」レポートには、この目的で設計されたフィールドがあります。これは、SaleAmountMaxFld という名前のレポートフッターフィールドで、グラフに表示する棒グラフの中で最も長い棒のサイズを保持し、次の式が含まれます。
=Max([SaleAmount])
コードを使用する場合
グラフの最大値を設定するには、SaleAmountMaxFld.Text プロパティを設定します。次のコードを入力します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
SaleAmountMaxFld.Text = "Max([SaleAmount])" |
C# コードの書き方
C# |
コードのコピー
|
---|---|
SaleAmountMaxFld.Text = "Max([SaleAmount])"; |
C1Report デザイナを使用する場合
グラフの最大値を設定するには、次の手順を実行して、SaleAmountMaxFld.Text プロパティを設定します。
=Max([SaleAmount])
実際の棒を描画するために、レポートには BarFld という名前の詳細フィールドがあります。これは、塗りつぶした四角形になるように書式設定されています。詳細セクションでは、次のスクリプトが OnPrint プロパティに割り当てられています。
この式は、参照フィールドの幅と値、および現在のレコードの SaleAmountFld の値に基づいて、棒グラフの幅を計算します。
コードを使用する場合
グラフの実際の棒を描画するには、OnPrint プロパティを設定します。次のコードを入力します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
c1r.Sections.Detail.OnPrint = & _ "BarFld.Width = SaleAmountMaxFld.Width * " & _ "(SaleAmountFld / SaleAmountMaxFld)" |
C# コードの書き方
C# |
コードのコピー
|
---|---|
c1r.Sections.Detail.OnPrint = + "BarFld.Width = SaleAmountMaxFld.Width * " + "(SaleAmountFld / SaleAmountMaxFld)"; |
グラフの実際の棒を描画するには、次の手順を実行して、OnPrint プロパティを設定します。
BarFld.Width = SaleAmountMaxFld.Width * (SaleAmountFld / SaleAmountMaxFld)
次のスクリーンショットは、特殊効果が適用された「売上チャート」レポートのセクションです。