FAQ
エラー:ICalcRendererValues.GetFieldTotals が正しく動作しない

ナレッジ番号:5529 | 登録日:2023/07/27 | 更新日:2024/11/21

【概要】
ChartRenderer をプログラミングで作成する際、ICalcRendererValues.GetFieldTotals は、通常、"全体の割合" で正規化を設定するために使用されます。このメソッドは、バリアント型変数(フィールドの合計値の配列)を返しますが、戻り値は常に空になります。

【原因】
これは、ICalcRendererValues の CalcRendererValues の実装において、欠陥のあるロジックが含まれていることが原因です。

【回避方法】
ICalcRendererValues を使用してフィールドの合計値を計算することを避け、次のいずれかの方法を使用します。

  • ArcMap の GUI を使用して、フィールドの合計値を手動で計算し、これらの値をコード内にハード コーディングします。

Dim pChtRend as IChartRenderer
Dim pCalcValues as ICalcRendererValues
Dim
pField as IFields
Dim i as Integer


...

Dim Totals As Variant
Totals = pCalcValues.GetFieldTotals ' 空になってしまうので使用不可

' ハード コーディングされたフィールドの合計値を使用します。
Dim dTotals(4) As Double
dTotals(0) = 7518518
dTotals(1) = 12094871
dTotals(2) = 26716211
dTotals(3) = 11447833

' 全体の割合で正規化するために使用されるフィールドの合計値
For i = 0 To pFields.FieldCount - 1
pChtRend.FieldTotal(i) = dTotals(i)
Next i

  •    フィールドの合計値を計算する独自のロジックを記述します。

メタデータ

種類

製品