EntityFrameworkの「テーブル」にデータバインドされたdatagridviewがあります。
public ObjectSet<TEntity> tableData { get; private set; }
private BindingSource tableBinding;
public AuxiliaryTableEditor(ObjectSet<TEntity> something)
{
InitializeComponent();
this.tableData = something;
this.tableBinding = new BindingSource();
this.tableBinding.DataSource = tableData;
this.auxiliaryTableEditorGridView.DataSource = tableBinding;
}
これは完全に正常に機能します。
問題は次のとおりです。ユーザーが行の編集/追加を開始した場合、セルで編集モードに入り、内容を消去してからタブまたはクリックすると、未処理の例外がスローされます(ほとんどのdb列と同様) nullを許可しない)。これは完全に正常で許容範囲内ですが、これらの例外をキャッチして処理できるようにしたいので、どこで/どのようにキャッチするかわかりません。
.DataError、.RowValidatingなど、datagridviewでいくつかの異なるイベントハンドラーを使用してみましたが、今は覚えていない他のいくつかのイベントハンドラーを使用しました...しかし、厄介な例外をキャッチできないようです。
どんな提案でも大歓迎です!
編集:例外は通常次のようなものであることを追加する必要があります:「ConstraintExceptionはユーザーコードによって処理されませんでした。このプロパティをnull値に設定することはできません」。