0

私のプロジェクトでは、モジュールを作成する必要がありました。その名前は「intjobs.vb」であり、その中にあるサブを呼び出したいとしましょうdorow

モジュールは次のとおりです。

 Module intjobs

    Public Sub dorow(fldtype, fldid, flddlvl)


      Dim fdt As New dataTDataSet.fieldsDataTable
      Dim dr As DataRow = fdt.NewRow
      dr.Item(0) = "del"
      dr.Item(1) = "up"
      dr.Item(2) = "down"
      dr.Item(3) = fldtype
      dr.Item(4) = False
      dr.Item(5) = fldid.ToString
      dr.Item(6) = flddlvl.ToString
      fdt.Rows.Add(dr)
      'Dim log As String = "Sub name: dorow {somevalue}"
      'logger(2, log)
  End Sub
End Module

したがって、このサブを datagridview と同じ Windows フォームに配置すると、完全に機能しますが、このモジュールを使用すると行が追加されません。

助けてください。

4

1 に答える 1

0

適切なModifierを使用することでそれを実現できます。

  1. グリッド ビューのModifierをPublicに設定します。
  2. モジュールでは、次のようなコードを使用します。

    Public Sub Modify_Cross_Module(ByRef DataGrid As DataGridView, _
                               ByVal firstColumnVal As String, _
                               ByVal secondColumnVal As String)
    
    DataGrid.Rows.Add(firstColumnVal, secondColumnVal)
    End Sub
    

DataGrid変数がByRefであることを確認する必要があります。

そのサブルーチンを呼び出すときは、次のコードを使用します。

Modify_Cross_Module(DataGridView1, "FirstVal", "SecondVal")

DataGridView1は、行を追加するDataGridViewです。

于 2013-04-06T20:20:04.717 に答える