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

所以当我把这个 sub 放在与 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 回答