2016-12-05 16 views
-1

Visual Studio 2010を使用してC#およびSQL Server 2012でデータベース用に作成されたWinformsアプリケーションがあります。私はそれにDataGridViewコントロールを持つフォームを持っています。私は行をダブルクリックして編集可能な行の内容を持つ新しいフォームを開くことができるようにしたい。私が研究し、私はここで何をしたいのかの一例を発見した:Winforms DataGridView詳細編集フォーム

https://www.codeproject.com/articles/19735/datagridview-with-detail-edit-form-vs

私が見つけた例の問題点は、著者が自分のデータの相互作用を設定するには、ドロップしてドラッグ/ウィザード方式を使用したことで、私はコードですべてをやっているので、この例を理解するのは苦労しています。私は、ダブルクリックされたレコードから編集するためのデータを含むフォームを開いてデータベースに保存する方法を示すC#の簡単な例を探しています。

+0

[*** solution 2 ***](https://www.codeproject.com/questions/325428/double-click-in-datagridview-display-in-textboxes)をご覧ください。クリックした単一のセルではなく、すべての行セルのフォームで編集するようにコードを更新します。 – Graffito

答えて

0

DataGridView in c#(提供した例はVisual Basicであり、c#ではなく)rowdoubleclickイベントはありません。 DataGridviewを使用してデッドセットされている場合、「回避策」はセルのダブルクリックイベントを処理することです。

次に、セルdoubleclickイベントハンドラは、ユーザーがすべてのデータを入力できる新しいフォームを表示します。データを使用してデータベースを更新し、datagridviewを更新します。

私はあなたのためにコードを書くつもりはありません。しかし、上記はあなたにそれを実装する方法のアイデアを与えるはずです。それを実装しようとするとあなたの質問を更新し、自分自身と他の人があなたのデバッグに役立つことができます。セルをダブルクリックで

MSDN:https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.celldoubleclick(v=vs.110).aspx

0

残念ながら、私は非常に広範な問題に非常に具体的な答えを与えることはできません。しかし、私の提案があります。

イベントハンドラをDataGridviewのCellMouseDoubleClickイベントに追加できます。あなたのDataGridViewクラスの実装では は、それは私がそれに時間を費やすことなく、特にあなたの全体の質問に答えることができない理由であるここから複雑になります...

CellMouseDoubleClick += DataGridView_CellMouseDoubleClick; 

private void DataGridView_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { 
    //replace with custom form that will get passed the 
    //relevant data your datagridview uses 
    Form editForm = new Form(); 
} 

を追加します。

関連する問題