以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 错误删除问题 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=98123) |
-- 作者:lzzhx -- 发布时间:2017/3/24 15:46:00 -- 错误删除问题 请都老师: 某个数据列设为用下拉列表输入,且不能输入列表外的内容,输入正常,在编辑状态下也不能输入数据和删除数据,但当点击到该列当前单元格后,按delete键却能将单元格内容整个删除,请问如何解决这个问题,实现不能删除,只能选择输入?
|
-- 作者:有点色 -- 发布时间:2017/3/24 15:50:00 -- 方法一:可以写KeyDown事件,如果是delete键,就e.cancel = true
方法二:DataColChanging事件,禁止输入空值咯。 |
-- 作者:lzzhx -- 发布时间:2017/3/24 15:57:00 -- 如果把代码写在全局表的DataColChanging事件中,如何先判断列是”设为用下拉列表输入,且不能输入列表外的内容“,然后再禁止输入空值? |
-- 作者:lzzhx -- 发布时间:2017/3/24 16:01:00 -- AllowDirectType属性只有table有,datatable没有 |
-- 作者:有点色 -- 发布时间:2017/3/24 16:11:00 -- 直接判断 e.NewValue 是否在你的下拉列表里面,如果在就允许,如果不在,就e.Cancel = true |
-- 作者:lzzhx -- 发布时间: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 -- 发布时间: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
|