以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 数据类型 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135491) |
-- 作者:13775189031 -- 发布时间:2019/5/28 8:21:00 -- 数据类型 有一些数据空白时不想让单元格为空,想输入“/”,但数据类型设为了双精度小数好像就无法输入数字以外的字符,怎么办? |
-- 作者:有点甜 -- 发布时间:2019/5/28 8:51:00 -- afterOpenProject事件
Tables("表a").grid.Cols("第三列").editor = new windows.Forms.textbox
ValidateEdit事件,写处理代码,如
msgbox(e.text) |
-- 作者:13775189031 -- 发布时间:2019/5/28 9:02:00 -- ValidateEdit事件,写处理代码,如
msgbox(e.text) 这里不明白? |
-- 作者:13775189031 -- 发布时间:2019/5/28 10:00:00 -- ValidateEdit事件,处理代码要怎么写? |
-- 作者:有点甜 -- 发布时间:2019/5/28 10:19:00 -- 以下是引用13775189031在2019/5/28 10:00:00的发言:
ValidateEdit事件,处理代码要怎么写?
比如
If e.col.name = "第三列" Then If e.text = "/" Then e.row("第十列") = "/" End If End If
然后,drawcell事件,根据第十列的值,给第三列赋值为 e.text = "/" |
-- 作者:13775189031 -- 发布时间:2019/5/28 11:00:00 -- ValidateEdit If e.Col.name = "工艺要求_类别1_入炉温度_min" Then If e.Text > "" Then \'如果已经输入内容 Dim v As Double = Val(e.Text) If e.text = "/" Then e.text = "/" End If End If End If Drawcell If e.Col.name = "工艺要求_类别1_入炉温度_min" Then If e.Row.IsNull(e.Col.Name) = False \'如果已经输入内容 Return If e.text = "/" Then e.text = "/" End If End If End If 输入数值是没问题,输入“/”后,单元格不显示,要怎么改? |
-- 作者:有点甜 -- 发布时间:2019/5/28 12:07:00 -- 把值存放在【第十列】
If e.col.name = "第三列" Then If e.text = "/" Then e.row("第十列") = "/" End If End If
|
-- 作者:13775189031 -- 发布时间:2019/5/28 13:06:00 -- ValidateEdit If e.Col.name = "工艺要求_类别1_入炉温度_min" Then If e.text = "/" Then e.Row("第一列") = "/" End If End If Drawcell Dim dr As Row = e.Row Select Case e.Col.Name Case "工艺要求_类别1_入炉温度_min" If dr("第一列") = "/" Then e.text = "/" Else If dr("工艺要求_类别1_入炉温度_min") Then e.text = Nothing End If End If End Select 输入“/”没问题了,但输入数值会显示: .NET Framework 版本:2.0.50727.8941 Foxtable 版本:2019.4.12.1 错误所在事件:表,热处理清单,DataColChanged 详细错误信息: 调用的目标发生了异常。 从字符串“/”到类型“Double”的转换无效。 输入字符串的格式不正确。
|
-- 作者:13775189031 -- 发布时间:2019/5/28 13:14:00 -- 输入数值后,还是会显示“/” |
-- 作者:有点甜 -- 发布时间:2019/5/28 15:51:00 -- 错误在你的datacolchanged事件【错误所在事件:表,热处理清单,DataColChanged】
或者你改成ValidateEdit
If e.Col.name = "工艺要求_类别1_入炉温度_min" Then
e.Row("第一列") = e.text e.text = val(e.text)
End If
[此贴子已经被作者于2019/5/28 15:51:07编辑过]
|