2011-09-05 25 views
0

我有一個form1form2 ..刪除在數據網格視圖中的行,當按鈕被點擊

form1中:我有一個按鈕列一個DataGridView。當我點擊任意行的按鈕單元格時,相應的行值將被轉移到form2。這工作正常。

表格2:通過使用setter和getters我得到了來自form1的值,我代表了form2中文本框的值,這很好。

我在表單2中有一個複選框。當我點擊複選框時,我需要刪除表格1中的datagrid視圖中的行(當我單擊按鈕單元格時,其行值被轉換爲表單2。行將從form1中的datagrid視圖中刪除)。

我該如何解決這個問題?

+0

什麼問題? – fardjad

+0

我不知道如何從另一個表單中刪除datagrid視圖中的一行....當我單擊表單2中的複選框時,相應的行將從form1中的datagrid視圖中刪除。 –

+0

'Form2'歸屬於Form1對吧?您應該在Form1中(在Form1.designer.cs中)設置DataGrid訪問修飾符'public',以便從'Form2'訪問它。 – fardjad

回答

5

當您將數據從Form1傳遞到Form2時,還傳遞行索引。它會幫助您輕鬆刪除該行。

要麼標記Form1中publicDataGridView或把它作爲一個構造參數Form2,然後調用DataGridView1.Rows.RemoveAt(rowIndex);rowIndex指定的索引在刪除行。

+0

非常感謝您的回答...在刪除行後,我如何更新表單1中的datagrid視圖,您是否會告訴任何想法.... –

+0

您是否嘗試過使用DataGridView.Refresh()? – Waqas

3

如果您知道如何從同一表單的網格視圖中刪除記錄,這很容易。

您可以按照與堆棧 的答案相同的方式溢出問題Updating the gridview in one form

作爲事件參數,您可以傳遞記錄ID。

您可以使用RemoveAt方法從網格視圖中刪除記錄。

DataGridView1.Rows.RemoveAt(deleteIndex); 

但是,如果您共享數據源並將其從表單2中刪除,則需要再次綁定數據以從網格中刪除。 (請參閱如何更新gridview的How to: Implement Property Change Notification

如果你刪除它在Form1並直接從GridView控件,你不需要重新綁定。

+0

非常感謝..我已經嘗試過事件處理程序,但不幸的是,這並不適合我......我不知道如何刪除一個記錄在同一個窗體中它自己..任何替代解決方案請... –

+0

'我不dont知道如何刪除相同形式的記錄它自己dataGridView.Rows.Remove()? – fardjad

+0

@DSW我如何更新從form2的datagrid視圖,你會提出任何想法... –

1
foreach (DataGridViewRow item in this.dataGridView1.SelectedRows) 
{ 
    dataGridView1.Rows.RemoveAt(item.Index); 
} 
+2

考慮爲您的答案提供解釋 – arghtype

相關問題