Foxtable(狐表)用户栏目专家坐堂 → DataColChanging


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

主题:DataColChanging

帅哥,在线噢!
1234567
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:574 积分:4773 威望:0 精华:0 注册:2013/2/18 17:46:00
DataColChanging  发帖心情 Post By:2023/11/3 14:31:00 [只看该作者]

禁止直接输入不在列表项目中的内容

DataColChanging

Tables("任务单").Cols("采购员").AllowDirectType = False

测试发现,当我进入系统后,第一次在单元格内还是能直接输入,输入一次后,才能正式生效。


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


加好友 发短信
等级:狐精 帖子:3106 积分:20733 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2023/11/3 14:40:00 [只看该作者]

AllowDirectType

逻辑型,是否允许用户直接输入不在列表项目中的内容。
必须在设置ComboList属性之前,设置AllowDirectType
属性,否则无效。

示例

Tables("订单").Cols("客户").AllowDirectType = False
Tables(
"订单").Cols("客户").Combolist = 
"CS01|CS02|CS03|CS04"

[此贴子已经被作者于2023/11/3 14:44:52编辑过]

 回到顶部
帅哥,在线噢!
1234567
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:574 积分:4773 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/11/3 14:47:00 [只看该作者]

帮助我看了:某一列的内容发生变化前执行,此时新值还没有写入表中,列的内容还是更改前的值。
Tables("任务单").Cols("采购员").AllowDirectType = False  那应该是不能更改的
为什么我刚打开文件后可以输入一次,输入一次后才真正生效。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107864 积分:548683 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/3 15:25:00 [只看该作者]

DataColChanging
If e.DataCol.Name = "采购员" Then '如果是折扣列的内容发生变化。
    
If e.NewValue > "" Then '如果新值大于0.15。
       if ("|" & 
Tables("任务单").Cols("采购员").Combolist & "|").contains("|" & 
e.NewValue & "|") = false then
e.cancel=true
end if
    End If
End
 
If

 回到顶部
帅哥,在线噢!
1234567
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:574 积分:4773 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/11/3 16:22:00 [只看该作者]

Tables("订单").Cols("客户").AllowDirectType = False
写在项目事件AfterOpenProject跟写在表事件PrepareEdit,那个更加合理?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107864 积分:548683 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/3 16:31:00 [只看该作者]

AfterOpenProject

 回到顶部