2012-10-05 96 views
1

我有從DataGridView中刪除行的問題。我有DataGridView與客戶端。當我點擊行時,新的表單打開(與客戶端數據)。在這種形式中有一個'刪除'按鈕,其中點擊Sub是這個代碼:從另一個表格中刪除DataGridView的行

Form1.DataGridView1.Rows().RemoveAt(_personIndex) 

問題是這段代碼不起作用。我以與datagridview相同的形式嘗試了此代碼,並且它工作正常。我會非常感謝你的幫助。

回答

0

您應該有加載客戶信息的第二種形式激發事件並讓主窗體處理事件。這樣你可以直接訪問datagridview。

您需要在爲了做到這四件事情:

  1. 宣佈爲第二形態上的一個事件:

    當行是啓動

    Friend Event DeleteClient(ByRef rowID As Integer)

  2. 你的第二個形式點擊將不得不宣佈withevents

    Dim WithEvents secondForm As ClientForm

  3. 事件處理程序,將捕獲的行被刪除,並從數據網格視圖

    Private Sub DeleteClient(ByRef rowID As Integer) Handles clientform.DeleteClient 
        DataGridViw1.Rows().RemoveAt(rowID) 
    End Sub 
    
  4. 在刪除按鈕的按鈕Click事件的RaiseEvent調用將其刪除。

    RaiseEvent DeleteClient(idOfRowToBeRemoved)

一旦一切就緒每當你點擊刪除按鈕的情況下應該由所謂的二次形式和行應該被刪除的形式被解僱和捕獲。

0

您訪問DataGridView1的方式只適用於共享DataGridView1的情況。在客戶端數據表單上,創建一個構造函數,該構造函數可以接收DataGridViewRows或DataGridView的集合,這樣您就可以訪問它。