Foxtable(狐表)用户栏目专家坐堂 → 备注栏窗口随着鼠标点击表格不同列的切换而切换


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

主题:备注栏窗口随着鼠标点击表格不同列的切换而切换

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


加好友 发短信
等级:超级版主 帖子:110450 积分:562116 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/16 8:37:00 [显示全部帖子]

我测试没有问题,请上传实例说明

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


加好友 发短信
等级:超级版主 帖子:110450 积分:562116 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/16 10:50:00 [显示全部帖子]

If e.Col.IsString AndAlso (e.Col.DataCol.MaxLength = -1 orelse e.Col.DataCol.MaxLength > 255) Then

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


加好友 发短信
等级:超级版主 帖子:110450 积分:562116 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/16 11:07:00 [显示全部帖子]

1、这些不是Foxtable帮助的内容,已经超纲了。需要有丰富的经验并懂得底层的功能使用,一般人不用管

2、备注列长度可能为-1(内部表),也有可能为大于255的值(外部表)。

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


加好友 发短信
等级:超级版主 帖子:110450 积分:562116 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/16 11:27:00 [显示全部帖子]

到keydown事件处理,判断是左方向键就选左边的列,.....

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


加好友 发短信
等级:超级版主 帖子:110450 积分:562116 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/16 12:10:00 [显示全部帖子]

Dim idx As Integer = -1
Select Case e.KeyCode
    Case Keys.Left
        If e.Table.ColSel > 0 Then
            idx = e.Table.ColSel - 1
            e.Table.Select(e.Table.RowSel, idx)
        End If 
    Case Keys.Right
        If e.Table.ColSel < e.Table.Cols.Count - 1 Then
            idx = e.Table.ColSel + 1
            e.Table.Select(e.Table.RowSel, idx)
        End If 
End Select
If idx > -1 Then
    If e.Table.Cols(idx).IsString AndAlso (e.Table.Cols(idx).DataCol.MaxLength = -1 OrElse e.Table.Cols(idx).DataCol.MaxLength > 255) Then
        For Each a As Object In e.Table.grid.parent.controls
            For Each b As Object In a.controls
                For Each c As Object In b.controls
                    If c.text = e.Table.Cols(idx).Name Then
                        c.parent.SelectedTab = c
                    End If
                Next
            Next
        Next
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:110450 积分:562116 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/19 19:42:00 [显示全部帖子]

第一行加上

e.cancel=true

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


加好友 发短信
等级:超级版主 帖子:110450 积分:562116 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/21 8:28:00 [显示全部帖子]

keydown事件不加任何代码的时候,按左右键,也是可以左右移动选中单元格的焦点的,这种叫默认操作。e.cancel=true可以取消这种默认操作。

不然默认操作移动一次,然后写的代码里又移动一次,最后变成移动了2次

 回到顶部