我在全局的表事件DoubleClick中编写代码:
'如果是材料数据表
If e.Table.name.contains("_") Then
'如果比较窗口被打开并可见
If Forms("Form_ParametersCompare").visible Then
AddMaterialToCompare()
e.Cancel = True '禁止进入编辑状态
End If
Else
e.Cancel = True '禁止进入编辑状态
end if
函数AddMaterialToCompare()如下:
Sub AddMaterialToCompare()
Dim i As Integer
Dim lvw As WinForm.ListView = Forms("Form_ParametersCompare").Controls("lvw_Compare")
Dim dr As DataRow = Maintable.current.DataRow '从数据表中提取数据
Dim vr As WinForm.ListViewRow = lvw.Rows.Add() '增加一行
messagebox.Show(MainTable.Name)
For i = 0 To lvw.Columns.count - 1'逐列取值
vr(lvw.Columns(i).name) = dr(lvw.Columns(i).name)
Next
vr.Tag= dr '将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
End Sub
执行发现,双击时虽然表不能被编辑,但listview也没有加入数据,甚至连messagebox也没有show出东西来,感觉AddMaterialToCompare根本就没有被执行,请教版主是什么问题,该如何解决?