なぜこれが起こるのか理解できません。DataSource が BindingSource に設定されている DataGridView があります (フィルタリングとナビゲートの目的で)。
myDataGridView.DataSource = myBindingSource;
アイテムのリストがあります。1 つのアイテムをクリックすると、myBindingSource に対応するフィルターが適用され、結果として myDataGridView の基準を満たす行のみが表示されます。このような:
private void ItemsClicked(object sender, ItemClickedEventArgs e){
myBindingSource.Filter = e.FilterExpression;
}
myDataGridView に少なくとも 1 行を表示させる項目をクリックすると、問題なく動作します。しかし、対応するフィルター式を満たす0行になるアイテムをクリックすると、事態は悪化します。myDataGridView は通常は空である必要がありますが、一部のダイアログで多くの例外がスローされます (結果として表示されます) (例外はコード エディター ウィンドウに黄色のマーカーで表示されません)。エラー ダイアログのスナップショットを次に示します。
[OK] ボタンをクリックした後も、別の (同じ) ダイアログが表示されます。... すべて停止するまで、多くのダイアログ (同じメッセージを持つ) が表示され続けます。それが何なのか理解できません。さらに詳しい情報が必要かどうかはわかりませんが、同様の例外が発生したことがあり、これを修正する方法について何か提案をいただければ幸いです。ダイアログには DataError イベントに関するメッセージが表示されますが、ここでエラーが発生する理由がわかりません。フィルターを適用した後、dataGridView に少なくとも 1 つの行がある場合、すべてのフィルターは問題ないことに注意してください。エラーは、フィルターの後に行がない場合にのみ発生します。
助けてください、よろしくお願いします!