我在一个主窗口的Table添加了双击列名进行排序的事件,测试是有用的。可是当我在另外一个主窗口的Table再次设置这个事件时,就报错了。
系统提示:“不存在名称为tbDanWei的Table”!
贴上部分出错的代码:
'生成搜索字段
Dim cmb As WinForm.ComboBox
cmb = e.Form.Controls("cbx_Field")
For Each cl As Col In Tables("往来单位管理_tbDanWei").Cols
cmb.Items.Add(cl.Name)
Next
'双击列名排序
AddHandler Tables("往来单位管理_tbDanWei").grid.MouseEnterCell, AddressOf MouseEnterCellHandler
AddHandler Tables("往来单位管理_tbDanWei").grid.MouseLeaveCell, AddressOf MouseLeaveCellHandler
AddHandler Tables("往来单位管理_tbDanWei").grid.DoubleClick, AddressOf DoubleClickHandler
生成搜索字段的代码都可以正常运行。。可是双击列名就会报“不存在名称为tbDanWei的Table”这个错误,这是什么问题呀!表名没有错呀。
下面是没有报错,可以正常进行双击列名事件的代码:
'固定合计列
With Tables("合同管理_Table1")
.Cols("合同金额").GrandTotal = True '指定要合计的列
.GrandTotal = True '显示合计模式
End With
With Tables("合同管理_Table2")
.Cols("实收/实付金额").GrandTotal = True
.Cols("fa piao金额").GrandTotal = True '指定要合计的列
.GrandTotal = True '显示合计模式
End With
With Tables("合同管理_Table3")
.Cols("计划金额").GrandTotal = True '指定要合计的列
.GrandTotal = True '显示合计模式
End With
DataTables("合同管理_Table1").DataCols("合同金额").SetFormat("N")
Tables("合同管理_Table1").Grid.Name = Tables("合同管理_Table1").Name
Tables("合同管理_Table2").Grid.Name = Tables("合同管理_Table2").Name
Tables("合同管理_Table3").Grid.Name = Tables("合同管理_Table3").Name
AddHandler Tables("合同管理_Table1").grid.Paint, AddressOf Grid_Paint
AddHandler Tables("合同管理_Table2").grid.Paint, AddressOf Grid_Paint
AddHandler Tables("合同管理_Table3").grid.Paint, AddressOf Grid_Paint
'双击列名排序
AddHandler Tables("合同管理_Table1").grid.MouseEnterCell, AddressOf MouseEnterCellHandler
AddHandler Tables("合同管理_Table1").grid.MouseLeaveCell, AddressOf MouseLeaveCellHandler
AddHandler Tables("合同管理_Table1").grid.DoubleClick, AddressOf DoubleClickHandler