2012-01-11 52 views
0

データグリッドビューでは、挿入されるすべての新しい行に対してデフォルト値が提供されます。時々デフォルトは100%が新しい行に適しており、レコードはそれ以上変更されずに保存されるべきです。ユーザーの単純な行を離れた場合でも、レコードがクリアされます:(私は新しい行を自動保存することができます(または自動設定し、それのための編集モード)は、ユーザーが新しいものを挿入できるようにする方法は?
ありがとう!DataGridViewの自動編集モード(追加時)

+0

あなたは私を失ってしまった "しかし、ユーザーが単純な行を残すと、レコードがクリアされます:(新しい行を自動的に保存する(または自動モードで編集モードを設定して)ユーザーに新しいレコードを挿入させるにはどうすればよいでしょうか?)" – PUG

+0

ユーザーが追加しますグリッドの新しい行は、グリッドの下部にある空のレコードに移動します。新しい行にはデフォルト値が自動的に入力され、ユーザーは追加の変更を行わずにそのまま保存します。彼はこれのために何をする必要がありますか?ユーザーがその行を離れると、その行は消えます。 – LINQ2Vodka

答えて

0

私が理解したようそのような新しい「デフォルト」行があるかどうかをチェックし、それを保存するために、datagridviewのフォーカスを失ったイベントを代行することができますしかし、この方法では常にデータベースに新しい行を作成し、デフォルト値では十分でない場合があると言いました。これを制御する唯一の方法は、彼はすぐに迷惑になる可能性のある新しい「デフォルト」の行を保存したいと考えています。

+0

答えに感謝します。はい、あなたは私をよく理解しています - 英語には申し訳ありません:)他の質問はどのように**どのようにデータベースにグリッドの行を保存するのですか?その操作を実行するには、どのような行またはグリッドのメソッドを呼び出す必要がありますか?私はRowLeaveのようなイベントをキャッチすることができますが、私はそれから何をすべきかわかりません。 – LINQ2Vodka

+0

このようなコードの場合:foreach(grd.Rows [XXX] .CellsのDataGridViewCellセル){var cellContent = cell.Value; } "grd"がDataGridViewコントロールの名前であると仮定して、行番号XXXのすべてのセルの値にアクセスします。新しいレコードを格納するためにデータベースにどのようにアクセスするのか分かりませんが、その値を使用してエンティティオブジェクトを作成し、格納したり、SQL挿入クエリを作成したりする必要があります。 – CMPerez

関連する問題