DataGrid コントロールが DataTable にバインドされている場合、DataGrid コントロールでユーザー入力を検証する方法がわかりません。私が見る問題は次のとおりです。
- 追加できる制約は UniqueConstraint と ForeignKeyConstraint だけであるため、データ ソース (DataTable) にカスタム検証規則を追加できません。
- グリッドで CellEditEnding イベントをオーバーライドし、プロパティ e.cancel = true (引数 e は DataGridCellEditEndingEventArgs 型) を設定しても、無効な値が基になる DataTable に割り当てられるため、無効な入力の検出には少し役立ちません。
私が求めている入力の検証は、10 進数の値を負にすることはできず、別の値は 10 ~ 25 の範囲内でなければならないなど、ビジネス ルールに関連しています。確かに、これらのルールを強制する何らかの方法があるはずです。
ありがとう。