在我的项目中,我必须创建一个模块,假设它的名字是“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窗体中时,它工作得很好, 但是当我使用这个模块时它不会添加任何行。
请帮忙。
答案 0 :(得分:0)
您可以使用正确的修饰符:
来实现这一目标在模块中使用与此类似的代码:
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。