C1FlexGrid のShowErrors プロパティが True に設定されている場合、セルデータを検証できる方法を紹介します。(デフォルト値はTrue)
なお、検証エラーは、いくつかの方法でトリガされます。
- データ項目のプロパティセッターが例外をスローした場合は、セルエディタがエラーメッセージを表示し、エラーが修正されるまで、または変更がキャンセルされるまで、エディタはアクティブな状態を維持します。
- データ項目が System.ComponentModel.IDataErrorInfo インターフェイスを実装している場合は、デフォルトのインデクサを実装し、列固有のエラーメッセージ(セルエディタにも表示される)を返すことで、項目が列レベルの検証エラーを発生させることができます。または、Error プロパティをエラーメッセージに設定することで、項目レベルの検証エラーをトリガすることもできます。この場合は、いずれかの列固有のエラーとしてではなく、行ヘッダーの最初のセルにアイコンとしてエラーが表示されます。
- データ項目が System.ComponentModel.INotifyDataErrorInfo インターフェイスを実装している場合は、上記の列レベルまたは項目レベルの検証エラーを非同期に発生させることができます。System.ComponentModel.INotifyDataErrorInfo は、System.ComponentModel.IDataErrorInfo より複雑で、実装も難しくなります。
【実行例】
下のコードでは、簡単な例外と System.ComponentModel.IDataErrorInfo インターフェイスを使用して、データクラスに検証を実装する方法を示します。下のコードでは、簡単な例外と System.ComponentModel.IDataErrorInfo インターフェイスを使用して、データクラスに検証を実装する方法を示します。また、このコードは製品サンプルのFlexGridSamplesを参考にしてください。