2016-12-05 74 views
-1

我有一個Winforms應用程序,使用C#和SQL Server 2012中的Visual Studio 2010編寫數據庫。我有一個DataGridView控件的表單。我希望能夠雙擊一行並打開一個新的表單,該表單中的內容已準備好進行編輯。我已經研究並發現了什麼我想在這裏做一個例子:Winforms DataGridView細節編輯表單

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

與我找到了例子的問題是,作者使用的下降和拖/精靈方法來建立自己的數據交互和我正在做所有的代碼,所以我很難理解這個例子。我在C#中尋找一個簡單的示例,該示例顯示如何使用一段數據打開表單,以便從雙擊的記錄中進行編輯,然後將其保存到數據庫中。

+0

看看[***解決方案2 ***](https://www.codeproject.com/questions/325428/double-click-in-datagridview-display-in-textboxes)。更新代碼以編輯所有行單元而不是單擊被單擊的單元格。 – Graffito

回答

0

在c#中的DataGridView(你提供的例子是在Visual Basic中,而不是c#)沒有rowdoubleclick事件。如果您在使用datagridview時遇到困難,則「解決方法」就是處理單元格雙擊事件。

然後單元格雙擊事件的處理程序將顯示一個新窗體,用戶可以在其中輸入所有數據。然後使用這些數據更新數據庫並刷新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(); 
} 

它從這裏更復雜這就是爲什麼我不能沒有它花費數小時明確回答您的全部問題。

相關問題