アプリケーションでお金の値を表すために使用されるカスタム データ型オブジェクト「Money」があります。現時点では、グリッド コンポーネント内にいくつかのカスタム フォーマットを実装しようとしていますが、System.Convert から例外「InvalidCastException」が発生します。
例外のテキストは次のとおりです。
System.InvalidCastException occurred
Message="Invalid cast from 'System.Int32' to 'System.Money'."
Source="mscorlib"
StackTrace: at System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider)
InnerException:
「Money」データ型は IConvertible を実装し、独自の TypeConverter を持つことに注意してください。
この例外をどのように克服できますか?
編集: この問題は、DevExpress XtraGrid の「フォーマット条件」がカスタム データ型「Money」にバインドされた列で評価されることに関連しています。Money 型は問題なく列にバインドできます。列でフォーマット条件が評価されている場合、つまり GridColumnValue > 0 の場合にのみ InvalidCastException が発生します。