以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于限定单元格内容的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63897) |
-- 作者:kratosxx -- 发布时间:2015/1/31 12:07:00 -- 关于限定单元格内容的问题 求助, 在表中的某列,设定了字段名为“国籍”,用“自定义项目”或者“数据表”都可以做成一个下拉式菜单,里面为“中国”、“美国”、“德国”。 现在的问题是,当我手动选择下拉菜单时,能确定只能选择到“中国”、“美国”、“德国”这三个值,“允许直接输入”设置成“false”后,可以实现无法通过键盘输入值。 但是~~~~,我使用Ctrl+C从excel中复制一个值后,居然可以直接粘贴到上面的列中,不受我之前所设置的列属性的约束了。 例如,我在上面的例子中,键盘是无法输入任何值的,只能用鼠标在下拉菜单中选择“中国”、“美国”、“德国”中的一项, 当我在excel中选择“法国”,复制后,可以直接粘贴到foxtable中的“国籍”字段中。 向各位大神求解,感激不尽! 不知有什么方法可以限定字段输入的内容,比如,只允许在该字段中输入“中国”、“美国”、“德国”三种值。
|
-- 作者:Bin -- 发布时间:2015/1/31 12:29:00 -- DataColChanging If e.DataCol.name="国籍" Then Select Case e.NewValue Case "中国","美国","德国" Case Else e.Cancel=True End Select End If |
-- 作者:kratosxx -- 发布时间:2015/2/2 13:18:00 -- 谢谢, 如果我的国家名称,“中国”“美国”“德国”,三个国家,都储存在另一张表的“国家名称”字段中,以后还需要增加国家,如何实现直接在“国家名称”中判别,我输入的值是否在范围内?
|
-- 作者:Bin -- 发布时间:2015/2/2 14:06:00 -- http://www.foxtable.com/help/topics/2747.htm If e.DataCol.name="国籍" Then if DataTables("国籍").GetValues("国家名称").Contains(e.NewValue)=False then e.cancel=true end if end if
|
-- 作者:swagger -- 发布时间:2015/3/1 3:49:00 -- 以下是引用Bin在2015/2/2 14:06:00的发言:
http://www.foxtable.com/help/topics/2747.htm If e.DataCol.name="国籍" Then
if DataTables("国籍").GetValues("国家名称").Contains(e.NewValue)=False then
e.cancel=true
end if
end if 貌似不行啊 |
-- 作者:有点甜 -- 发布时间:2015/3/1 9:23:00 -- 代码没有问题,请认真测试。 |