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- フィールドの合計値を計算する独自のロジックを記述します。
メタデータ
種類
製品