Foxtable(狐表)用户栏目专家坐堂 → 数据类型


  共有2848人关注过本帖树形打印复制链接

主题:数据类型

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
数据类型  发帖心情 Post By:2019/5/28 8:21:00 [只看该作者]

有一些数据空白时不想让单元格为空,想输入“/”,但数据类型设为了双精度小数好像就无法输入数字以外的字符,怎么办?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/28 8:51:00 [只看该作者]

afterOpenProject事件

 

Tables("表a").grid.Cols("第三列").editor = new windows.Forms.textbox

 

ValidateEdit事件,写处理代码,如

 

msgbox(e.text)


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/5/28 9:02:00 [只看该作者]

ValidateEdit事件,写处理代码,如

 

msgbox(e.text)


这里不明白?


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/5/28 10:00:00 [只看该作者]

ValidateEdit事件,处理代码要怎么写?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By: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
输入数值是没问题,输入“/”后,单元格不显示,要怎么改?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/28 12:07:00 [只看该作者]

把值存放在【第十列】

 

If e.col.name = "第三列" Then

   If e.text = "/" Then

        e.row("第十列") = "/"

   End If

End If

 


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:870 积分:6018 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/5/28 13:14:00 [只看该作者]

输入数值后,还是会显示“/”

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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编辑过]

 回到顶部
总数 13 1 2 下一页