Foxtable(狐表)用户栏目专家坐堂 → GetComboListString 的运用


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

主题:GetComboListString 的运用

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/20 17:57:00 [只看该作者]

以下是引用edisontsui在2018/9/20 16:46:00的发言:
现在显示的内容是对了。但是又产生了新的问题:
当“批号”内显示出“20180801-6300”之后,我希望点击这串字符时,能将20180801这个批号输入到“批号”内,而不要将6300这些数量也输入进去。怎么写代码?谢谢。

 

changeEdit事件,写代码

 

If e.Col.name = "第四列" Then
    Dim ary() As String = e.text.split("-")
    If ary.length = 2 Then
        e.Table.FinishEditing
        e.Row(e.Col.name) = ary(0)
        e.Table.StartEditing
    End If
End If


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


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/21 10:31:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:getcombolist的运用2.jpg
图片点击可在新窗口打开查看

我用上面31楼的代码测试了。如上图所示,当"批号"这个数据列出现"20180801-6300"的查询结果之后,我去点击20180801-6300,但是我的光标退不出这个单元格了。
我希望是,我去点击20180801-6300,会将20180801这8个字符自动输入到这个单元格,然后允许我的光标退出单元格。谢谢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/21 10:38:00 [只看该作者]

以下是引用edisontsui在2018/9/21 10:31:00的发言:

图片点击可在新窗口打开查看此主题相关图片如下:getcombolist的运用2.jpg


我用上面31楼的代码测试了。如上图所示,当"批号"这个数据列出现"20180801-6300"的查询结果之后,我去点击20180801-6300,但是我的光标退不出这个单元格了。
我希望是,我去点击20180801-6300,会将20180801这8个字符自动输入到这个单元格,然后允许我的光标退出单元格。谢谢。

 

我测试没问题,肯定是你别的事件有代码影响。

 

做一个对应的实例发上来测试。


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


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/21 15:33:00 [只看该作者]

我点击20180801-6300之后,想将光标直接移开这个单元格是不行的,但是我用Esc这个键可以将光标离开单元格,然后单元格里面留下的也是20180801这8个字符。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/21 15:35:00 [只看该作者]

以下是引用edisontsui在2018/9/21 15:33:00的发言:
我点击20180801-6300之后,想将光标直接移开这个单元格是不行的,但是我用Esc这个键可以将光标离开单元格,然后单元格里面留下的也是20180801这8个字符。

 

做一个实例发上来测试啊,要说多少次?


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


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/21 16:05:00 [只看该作者]

我开发版版本低,我做了实例给你,你修改之后发回给我的项目我无法登陆。现在这样的代码也可以用,可以用就算了。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/21 16:11:00 [只看该作者]

以下是引用edisontsui在2018/9/21 16:05:00的发言:
我开发版版本低,我做了实例给你,你修改之后发回给我的项目我无法登陆。现在这样的代码也可以用,可以用就算了。

 

新建一个商业版的项目,做一个类似的功能,发上来测试。


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


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/9/22 9:11:00 [只看该作者]

从商业版另做项目测试情况看,你的代码是没有问题。那可能是别的事件有代码影响。

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


加好友 发短信
等级:六尾狐 帖子:1438 积分:9341 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/9/2 16:49:00 [只看该作者]

If e.IsFocusCell Then
    If e.Col.Name = "批号" Then
        Dim fdr = DataTables("批号表").find("[物料编号] =  '" & e.Row("物料编号") & "'", "批号")
        If fdr IsNot Nothing Then
            e.Col.Combolist = fdr("批号") & "-" & fdr("库存数量")
        Else
            e.Col.Combolist = ""
        End If
    End If
End If

以上为数据表“出入库”之prepareedit事件原代码,现在我要实现另外一个目的:如果“批号表”里面的“待判定”一栏有勾选,则不显示此行的数据。我做了如下红色的改动,但是没有效果,请教为什么?谢谢。

If e.IsFocusCell Then
    If e.Col.Name = "批号" Then
        Dim fdr = DataTables("批号表").find("[物料编号] =  '" & e.Row("物料编号") & "'", "批号")
        Dim fdr1 = DataTables("批号表").find("[物料编号] =  '" & e.Row("物料编号") & "'")
If fdr1("待判定") = False
Else
        If fdr IsNot Nothing Then
            e.Col.Combolist = fdr("批号") & "-" & fdr("库存数量")
        Else
            e.Col.Combolist = ""
        End If
End If
    End If
End If


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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/2 16:58:00 [只看该作者]

没看出来这个用法放到prepareedit事件的意义,只有一个选择项,有必要做成下拉么

If e.IsFocusCell Then
    If e.Col.Name = "批号" Then
        Dim fdr = DataTables("批号表").find("[物料编号] =  '" & e.Row("物料编号") & "' and 待判定=false", "批号")
        If fdr IsNot Nothing Then
            e.Col.Combolist = fdr("批号") & "-" & fdr("库存数量")
        Else
            e.Col.Combolist = ""
        End If
    End If
End If

 回到顶部
总数 52 上一页 1 2 3 4 5 6 下一页