私は持っています。新しい行を挿入するには、私が処理します。databound
DataGridView
DefaultValuesNeeded
割り当てられた値を含む新しい行が表示されます。ここまでは正常に動作します。
この時点では、行はまだ基になる にアタッチされていませんDataTable
。大丈夫です。
新しい行を受け入れる唯一の方法は、任意のセルを編集モードに設定し
、値を変更してエディターを閉じることです。
これで、新しい行が に追加されますDataTable
。
私の問題は、最小限のユーザー入力で行を追加したいということです。
ユーザーが値が適切であると判断した場合、一部のセル値を変更せずに (およびそれらを元の値に戻すことなく)
確認できるはずです。
これを達成する方法はありますか?たとえば、enterを押してコマンドをトラップし、セルの値が変更された場合と同じように強制
しますか?DataGridView
dgv_KeyDown()
私はすでに成功せずに値を変更しようとしました。
助言がありますか?
private void dgv_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (dgv.CurrentCell != null && dgv.CurrentCell.OwningRow.DataBoundItem == null)
{
//ToDo: Accept the new row
e.Handled = true;
}
}
}