Foxtable(狐表)用户栏目专家坐堂 → [求助]新增行自动增加R-,光标定位到-后,并且之前的R-无法删除。


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

主题:[求助]新增行自动增加R-,光标定位到-后,并且之前的R-无法删除。

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]新增行自动增加R-,光标定位到-后,并且之前的R-无法删除。  发帖心情 Post By:2015/8/27 10:23:00 [只看该作者]

datacolchanging代码:

比如用户名是jiangxiaogang@bdcom.com.cn   新增行在模块名称列输入hal,自动改为了R-hal。

现在想改为新增行后自动输入了R-,且R-不能删除,光标自动定位到R-后,然后输入hal。

If e.DataCol.Name = "模块名称" Then
    If e.NewValue IsNot Nothing Then
        Select Case user.Name
            Case "jiangxiaogang@bdcom.com.cn","fengsongbai@bdcom.com.cn","fanghao@bdcom.com.cn","liushuangyu@bdcom.com.cn","zhouyinghuan@bdcom.com.cn"
                e.NewValue = "R-" & e.NewValue
            Case "sunxi@bdcom.com.cn","liyishui@bdcom.com.cn","xiejian@bdcom.com.cn","dengkai@bdcom.com.cn","liuqiang@bdcom.com.cn"
                e.NewValue = "S-" & e.NewValue
            Case "wangzhimin@bdcom.com.cn"
                e.NewValue = "OLT-" & e.NewValue
            Case "wangjingfu@bdcom.com.cn"
                e.NewValue = "ONU-" & e.NewValue
        End Select
    End If
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/27 10:34:00 [只看该作者]

 

If e.DataCol.Name = "模块名称" Then
    If e.NewValue IsNot Nothing Then
        Select Case user.Name
            Case "jiangxiaogang@bdcom.com.cn","fengsongbai@bdcom.com.cn","fanghao@bdcom.com.cn","liushuangyu@bdcom.com.cn","zhouyinghuan@bdcom.com.cn"
                If e.newvalue Like "R-*"= False Then
                    e.NewValue = "R-" & e.NewValue
                End If
            Case "sunxi@bdcom.com.cn","liyishui@bdcom.com.cn","xiejian@bdcom.com.cn","dengkai@bdcom.com.cn","liuqiang@bdcom.com.cn"
                e.NewValue = "S-" & e.NewValue
            Case "wangzhimin@bdcom.com.cn"
                e.NewValue = "OLT-" & e.NewValue
            Case "wangjingfu@bdcom.com.cn"
                e.NewValue = "ONU-" & e.NewValue
        End Select
    End If
End If


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/8/27 11:01:00 [只看该作者]

以下是引用大红袍在2015/8/27 10:34:00的发言:

 

If e.DataCol.Name = "模块名称" Then
    If e.NewValue IsNot Nothing Then
        Select Case user.Name
            Case "jiangxiaogang@bdcom.com.cn","fengsongbai@bdcom.com.cn","fanghao@bdcom.com.cn","liushuangyu@bdcom.com.cn","zhouyinghuan@bdcom.com.cn"
                If e.newvalue Like "R-*"= False Then
                    e.NewValue = "R-" & e.NewValue
                End If
            Case "sunxi@bdcom.com.cn","liyishui@bdcom.com.cn","xiejian@bdcom.com.cn","dengkai@bdcom.com.cn","liuqiang@bdcom.com.cn"
                e.NewValue = "S-" & e.NewValue
            Case "wangzhimin@bdcom.com.cn"
                e.NewValue = "OLT-" & e.NewValue
            Case "wangjingfu@bdcom.com.cn"
                e.NewValue = "ONU-" & e.NewValue
        End Select
    End If
End If

这样并没有实现不能删除R-,和光标自动定位到R-后。关键如何让光标自动定位到R-后。能不能删除R-先不管它了。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/27 11:11:00 [只看该作者]

以下是引用huhu在2015/8/27 11:01:00的发言:

这样并没有实现不能删除R-,和光标自动定位到R-后。关键如何让光标自动定位到R-后。能不能删除R-先不管它了。

 

那你在startEdit的时候,写代码

 

systemready = false

If e.Col.Name = "模块名称" 

    If e.Row(e.Col.Name) like "R-*" Then
        e.Row(e.Col.Name) = e.Row(e.Col.Name).SubString(2)

    End If

End If
systemready = true


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/8/27 12:04:00 [只看该作者]

以下是引用大红袍在2015/8/27 11:11:00的发言:

 

那你在startEdit的时候,写代码

 

systemready = false

If e.Col.Name = "模块名称" 

    If e.Row(e.Col.Name) like "R-*" Then
        e.Row(e.Col.Name) = e.Row(e.Col.Name).SubString(2)

    End If

End If
systemready = true

新增行后,光标没有定位到R-吧,而且鼠标点击这个单元格后,内如自动为空了。


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/8/27 13:39:00 [只看该作者]

可以在列属性中使用输入掩码实现,如在模块名称列使用掩码“R-CCCC”

 

掩码使用见http://www.foxtable.com/help/topics/0047.htm

 

不过就有使用限制:目前没有适配任意多个字符的通配符,所以掩码使用多少个C就要看你模块名称列的字符长度了


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/27 14:22:00 [只看该作者]

以下是引用huhu在2015/8/27 12:04:00的发言:

新增行后,光标没有定位到R-吧,而且鼠标点击这个单元格后,内如自动为空了。

 

做不到你想做的,上面的方法已经是最好的了。


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/8/27 14:32:00 [只看该作者]

DataRowAdded

e.DataRow("第一列") = "R-"
Sendkeys.Send(" ")

DataColChanged

If e.DataCol.Name = "第一列" AndAlso e.DataRow(e.DataCol).StartsWith("R-") = False Then
    e.DataRow(e.DataCol) = "R-" & e.DataRow(e.DataCol)
End If

 回到顶部