Foxtable(狐表)用户栏目专家坐堂 → 错误删除问题


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

主题:错误删除问题

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
错误删除问题  发帖心情 Post By:2017/3/24 15:46:00 [只看该作者]

请都老师:
      某个数据列设为用下拉列表输入,且不能输入列表外的内容,输入正常,在编辑状态下也不能输入数据和删除数据,但当点击到该列当前单元格后,按delete键却能将单元格内容整个删除,请问如何解决这个问题,实现不能删除,只能选择输入?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/24 15:50:00 [只看该作者]

方法一:可以写KeyDown事件,如果是delete键,就e.cancel = true

 

方法二:DataColChanging事件,禁止输入空值咯。


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/3/24 15:57:00 [只看该作者]

如果把代码写在全局表的DataColChanging事件中,如何先判断是”设为用下拉列表输入,且不能输入列表外的内容“,然后再禁止输入空值?

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/3/24 16:01:00 [只看该作者]

AllowDirectType属性只有table有,datatable没有

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/24 16:11:00 [只看该作者]

 直接判断 e.NewValue 是否在你的下拉列表里面,如果在就允许,如果不在,就e.Cancel = true

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/3/27 11:49:00 [只看该作者]

在全局表事件Dataacolachanging中加入如下代码,完成这个功能

If Tables(e.DataTable.Name).Cols(e.DataCol.Name).AllowDirectType = false then
    If e.NewValue = "" then
        e.Cancel = true
    End If
endif

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/3/27 12:02:00 [只看该作者]

If Tables(e.DataTable.Name).Cols(e.DataCol.Name).AllowDirectType = false then
    If e.NewValue is nothing then
        e.Cancel = true
    End If
endif

 回到顶部