Foxtable(狐表)用户栏目专家坐堂 → 官方 自定义录入界面之三 的一个改进的问题


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

主题:官方 自定义录入界面之三 的一个改进的问题

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


加好友 发短信
等级:二尾狐 帖子:560 积分:4273 威望:0 精华:0 注册:2014/6/12 19:15:00
官方 自定义录入界面之三 的一个改进的问题  发帖心情 Post By:2021/2/6 23:26:00 [只看该作者]

单元格中输入内容,自动下拉窗口筛选数据,帮助录入
当:
1、要用下拉窗口  录入多列数据
2、当前要录入的行、列,以前已经录入过数据,现在是要修改
3、录入单元格的内容,筛选窗口中没有的时候,用户敲了回车

会出现一个问题
1、录入单元格的数据为 手工录入的值,而不是下拉窗口中任何一个值
2、其余一并要录入的列,因为下拉窗口中没有值被选中,而不会 更新那些列,导致那些列是老值。

需要改进的目标是:
当 单元格手工录入的值 , 不在 下拉窗口中时,无论客户是敲回车,还是 Tab 键,还是以其他任何方式离开当前单元格
都 将 当前录入单元格 和当前行 应一并录入的列 ,统一设置为 空值。


图片点击可在新窗口打开查看此主题相关图片如下:图像 1.png
图片点击可在新窗口打开查看



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


加好友 发短信
等级:二尾狐 帖子:560 积分:4273 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2021/2/6 23:33:00 [只看该作者]

举个例子说明这个问题
假设 在  客户ID 单元格输入 数据自动下拉窗口筛选,选择下拉窗口对应的行以后,自动将 客户ID,公司名称 两列 录入 当前行

当前行已经有数据:
客户ID     公司名称
BOLD      迈多贸易

要修改当前行数据,所以在 客户ID 单元格录入   XXXX(一个下拉窗口中不可能存在的数据),当前下拉窗口中筛选不出任何记录
客户敲入回车后的结果是

当前行数据变成:
客户ID     公司名称
XXXX      迈多贸易


请问如何才能在这种情况,当录入的数据,下拉窗口筛选不出的时候,让录入各列都变成  空?


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


加好友 发短信
等级:二尾狐 帖子:560 积分:4273 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2021/2/6 23:43:00 [只看该作者]

其实最终的目标就是
单元格可以输入数据,但是只作为筛选 下拉窗口中的数据之用
数据输入只能通过下拉窗口来输入
请问如何做到

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


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/7 10:14:00 [只看该作者]

窗口的DropDownClosed事件代码改改,如果有选择就录入选择的数据,如果没有选择就清空单元格

If e.Selected Then '如果选择了值
    Dim tbl As Table = Tables("窗口1_Table1")
    If tbl.Current IsNot Nothing Then
        e.Form.DropDownBox.Value = tbl.Current("客户ID")
        If e.Form.DropTable IsNot Nothing Then '如果是通过表下拉的
            e.Form.DropTable.FinishEditing()
        Else '如果是通过窗口下拉的
            e.Form.DropDownBox.WriteValue()
        End If
    End If
else
清空的代码
End
 If

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


加好友 发短信
等级:二尾狐 帖子:560 积分:4273 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2021/2/7 11:24:00 [只看该作者]

你好蓝版,有些情况真的比较诡异,照着 案例做的 ,这么都不行,添加了一个 messagebox。show,就好了
感觉,foxtable有些时候,修改了代码,好像还是按照老代码在执行

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


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/7 11:26:00 [只看该作者]

关闭退出项目,删除项目所在的文件夹里的bin目录,然后重启项目试试。

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


加好友 发短信
等级:二尾狐 帖子:560 积分:4273 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2021/2/7 11:36:00 [只看该作者]

蓝版

按照官方案例,修改的录入窗口,把 单个表的事件,统一放到全局表事件中处理了,现在又有一个诡异问题

录入不存在的数据,按回车,不执行 退出清空代码,但 按tab键或者鼠标直接点其他单元格都能执行

这是个什么情况,把我搞蒙了

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


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/7 11:38:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:560 积分:4273 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2021/2/7 12:40:00 [只看该作者]

蓝版,官方的例子,客户ID列,粘贴进去 客户ID,客户名称列 会自动修改为对应的客户名称
这个如何做到的?
我看了一圈,也没看到代码啊

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


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/7 13:47:00 [只看该作者]

客户名称是一个表达式列

 回到顶部