いくつかの列を含むデータグリッドがあります:
CategoryID、SubcategoryID、SubcategoryName (非表示、非表示、表示)
新しいサブカテゴリを作成する場合、CategoryID が必要です。
UI から新しいサブカテゴリ名を入力しています。Enter キーを押すと、現在の行の編集が終了し、編集モードを開始せずに下の行が選択されます (強調表示されるだけです)。この一時的な選択により、SubcategoryName はデフォルトの空のセル値nullからstring.empty値になります。
次に、データをデータベースに送り返そうとすると、問題が発生します。Data Adapter は、CategoryID を null にすることはできないというエラーを発生させます。私がテストしたところ、これは目に見えないゴミを含む新しい行が原因です。新しい行を編集して通常のサブカテゴリ名を入力すると、すべてうまくいきます (CategoryID は、SubcategoryName が空でないことを検出する関数によって挿入されます)。
新しい行データが確実に削除されるようにするにはどうすればよいですか?
SendKeys.Send("{ESC}")およびDG_SubcategoryEdit.CancelEdit()でESC キーを送信しようとしました