以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]如何强制转换某列中输入字母内容为大写 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=99440) |
-- 作者:13865161910 -- 发布时间:2017/4/19 12:49:00 -- [求助]如何强制转换某列中输入字母内容为大写 RT,单元格中输入字母不用确定是否为大写,自动判定,如果内容有小写字母,强制转换为大写 内容中有数字,小数点,字母,汉字,效果:内容中的小写自动转化为大写字母,再哪里编写代码?怎么编写代码?
|
-- 作者:有点色 -- 发布时间:2017/4/19 14:44:00 -- DataColChanging事件
If e.DataCol.name = "第六列" |
-- 作者:13865161910 -- 发布时间:2017/4/19 15:15:00 -- 回复:(有点色)DataColChanging事件?If e.... 感谢您的解答,刚在帮助中看了下说明,不过遇到一个问题,当输入小写内容 成功转换后,如果对该单元格进行delete或者← 键盘按键的操作,就会弹出如下提示: .NET Framework 版本:2.0.50727.8670 Foxtable 版本:2017.3.2.1 错误所在事件:表,车型,DataColChanging 详细错误信息: 调用的目标发生了异常。 未设置对象变量或 With 块变量。 我按照下面的增加了判断,不知道是不是问题出在这,好像没提示了 以下内容为程序代码: 1 Dim dr As DataRow = e.DataRow 2 If dr.IsNull("列名") Then 3 If e.DataCol.name = "列名" 4 e.NewValue = e.NewValue.ToUpper 5 End If 6 End If [此贴子已经被作者于2017/4/19 15:22:48编辑过]
|
-- 作者:有点色 -- 发布时间:2017/4/19 15:22:00 -- If e.DataCol.name = "第六列" If e.NewValue IsNot Nothing Then e.NewValue = e.NewValue.ToUpper End If End If |
-- 作者:13865161910 -- 发布时间:2017/4/19 15:27:00 -- 回复:(有点色)If e.DataCol.name = "第六列"?... 感谢老师帮助,但不知道我自己修改的代码和您给的 是否有什么区别? 一个是判定列不为空,一个是判定新值不为空
[此贴子已经被作者于2017/4/19 15:27:30编辑过]
|
-- 作者:有点色 -- 发布时间:2017/4/19 15:41:00 -- 在DataColChanging事件,尽量用 e.NewValue 来判断。 |
-- 作者:13865161910 -- 发布时间:2017/4/21 16:49:00 -- 回复:(有点色) 在DataColChanging事件,尽量用... 万分感谢老师的解答! |