以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于单元格里百分比的输入效率问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40120) |
-- 作者:a9858 -- 发布时间:2013/9/10 8:45:00 -- 关于单元格里百分比的输入效率问题 表里有一列“含水率”含水7.6%,比如输入0.076,就会变成7.6%,这样要敲键盘5次,效率不高。 能不能直接输入7.6就会变成7.6%呢,在狐表4.16之前的版本都是可以的, 升级到6.2版后,输入7.6就变成760%。不知道我表达清楚没有,那位老师出手帮忙啊,谢谢!!!
|
-- 作者:Bin -- 发布时间:2013/9/10 8:58:00 -- 你好,这个一直都是这样的吧.你可以考虑在DataColChanged中把输入的值除以100来实现你这个需求. |
-- 作者:a9858 -- 发布时间:2013/9/10 9:39:00 -- bin老师我没弄好,你再出手啊。 这样不行你帮我改改吧 If e.DataCol.Name = "含水率" Then e.DataRow("含水率") = e.DataRow("含水率")/100 End If |
-- 作者:Bin -- 发布时间:2013/9/10 9:43:00 -- 不行,刚才忽略了! 这样做不行的,会死循环. 你老老实实用输入多几个0吧 要不你用录入窗口做,然后在窗口文本框处理,这样就好了. |
-- 作者:a9858 -- 发布时间:2013/9/10 9:48:00 -- 狐爸给的代码在表的AfterEdit事件中写 If e.Col.Name = "含水率" Then e.Row("含水率") = e.Row("含水率") / 100 End If 这样也不行
|
-- 作者:hanxuntx -- 发布时间:2013/9/10 9:56:00 -- 呵呵,要这样写 If e.DataCol.Name = "损耗" Or e.DataCol.Name = "利用率" Then |
-- 作者:狐狸爸爸 -- 发布时间:2013/9/10 14:21:00 -- 可以直接设置e.NewValue:
If e.DataCol.Name = "损耗" OrElse e.DataCol.Name = "利用率" Then |