1

DataGridView から行を削除する際に問題があります。私はクライアントと DataGridView を持っています。行をクリックすると、新しいフォームが開きます (クライアント データ付き)。このフォームには「削除」ボタンがあり、サブをクリックすると次のコードになります。

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

問題は、このコードが機能しないことです。このコードを datagridview と同じ形式で試したところ、うまくいきました。私はあなたの助けにとても感謝しています.

4

2 に答える 2

0

顧客情報をロードする 2 番目のフォームでイベントを発生させ、メイン フォームでイベントを処理する必要があります。このようにして、データグリッドビューに直接アクセスできます。

これを行うには、次の 4 つのものが必要です。

  1. 次のように宣言された 2 番目のフォームのイベント:

    Friend Event DeleteClient(ByRef rowID As Integer)

  2. 行がクリックされたときに起動する 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. 削除ボタンのボタン クリック イベントで RaiseEvent を呼び出します。

    RaiseEvent DeleteClient(idOfRowToBeRemoved)

すべてが整ったら、削除ボタンをクリックするたびにイベントが発生し、セカンダリ フォームを呼び出したフォームによってキャッチされ、行が削除されます。

于 2012-10-05T20:48:45.593 に答える
0

DataGridView1 にアクセスする方法は、DataGridView1 が共有されている場合にのみ機能します。クライアント データ フォームで、DataGridViewRows または DataGridView のコレクションを取得できるコンストラクターを作成し、アクセスできるようにします。

于 2012-10-05T20:13:12.127 に答える