Foxtable(狐表)用户栏目专家坐堂 → 双击列名事件失效


  共有2361人关注过本帖树形打印复制链接

主题:双击列名事件失效

帅哥哟,离线,有人找我吗?
q189802114
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:16 积分:186 威望:0 精华:0 注册:2016/3/25 13:39:00
双击列名事件失效  发帖心情 Post By:2016/7/15 9:49:00 [显示全部帖子]

我在一个主窗口的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

 回到顶部
帅哥哟,离线,有人找我吗?
q189802114
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:16 积分:186 威望:0 精华:0 注册:2016/3/25 13:39:00
  发帖心情 Post By:2016/7/15 9:52:00 [显示全部帖子]

贴上双击列名的事件代码:
'双击列头相关
Public headCol As Integer = -1

Public Sub MouseLeaveCellHandler(sender As object, e As C1.Win.C1FlexGrid.RowColEventArgs )
headcol = -1
End Sub

Public Sub MouseEnterCellHandler(sender As object, e As C1.Win.C1FlexGrid.RowColEventArgs )
If e.Row = 0 Then
    headcol = e.Col
End If
End Sub

Public Sub DoubleClickHandler(sender As object, e As System.EventArgs)
If headcol <> -1 Then
    Dim srt As String = Tables(sender.Name).Sort
    Dim name As String = Tables(sender.Name).Cols(headcol-1).Name
    If srt = Nothing
        Tables(sender.Name).Sort = name  & " ASC "
    Else If srt.Contains(Tables(sender.Name).Cols(headcol-1).Name)
        If srt.Contains("DESC") Then
            Tables(sender.Name).Sort = name & " ASC "
        Else
            Tables(sender.Name).Sort = name & " DESC "
        End If
    Else
        Tables(sender.Name).Sort = name & " ASC "
    End If
End If
End Sub

 回到顶部
帅哥哟,离线,有人找我吗?
q189802114
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:16 积分:186 威望:0 精华:0 注册:2016/3/25 13:39:00
  发帖心情 Post By:2016/7/15 9:53:00 [显示全部帖子]

实在弄不懂这是什么问题。明明在合同管理这个主窗口都可以实现双击列名排序的功能。
换到另外一个主窗口就出问题了。

 回到顶部
帅哥哟,离线,有人找我吗?
q189802114
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:16 积分:186 威望:0 精华:0 注册:2016/3/25 13:39:00
  发帖心情 Post By:2016/7/15 10:34:00 [显示全部帖子]

图片点击可在新窗口打开查看求老师解惑。

 回到顶部
帅哥哟,离线,有人找我吗?
q189802114
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:16 积分:186 威望:0 精华:0 注册:2016/3/25 13:39:00
  发帖心情 Post By:2016/7/15 11:09:00 [显示全部帖子]

图片点击可在新窗口打开查看有人吗。

 回到顶部
帅哥哟,离线,有人找我吗?
q189802114
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:16 积分:186 威望:0 精华:0 注册:2016/3/25 13:39:00
  发帖心情 Post By:2016/7/15 13:53:00 [显示全部帖子]

啥子例子。你说做一个项目测试吗。。
我咋觉得这个是Foxtable的问题!两处地方的代码完全一样呀。

 回到顶部