Foxtable(狐表)用户栏目专家坐堂 → 新手求助!


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

主题:新手求助!

帅哥哟,离线,有人找我吗?
HarryPotter_9527
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:1 积分:76 威望:0 精华:0 注册:2017/11/25 14:06:00
新手求助!  发帖心情 Post By:2017/11/25 14:15:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
我想再类型为字符串的"数量"列中实现,输入数字如:85, 然后在datacolchanged事件中让显示的内容变为85PCS,我写好了datacolchanged事件后,输入85,报错了,提示类型转换错误,请问对于字符串类型的列的事件,里面的e.newValue到底是什么类型的?
我的datacolchanged事件代码如下:
If e.DataCol.Name="数量" Then
     If e.NewValue IsNot Nothing Then
            If cint(e.NewValue)<=0 Then
                 If messagebox.show("数量不能为负数,重新输入","提示")=dialogresult.ok Then
                          e.DataRow("数量")=Nothing
                 End If
            Else If cint(e.NewValue)>0 Then
                 e.DataRow("数量")=cstr(e.DataRow("数量") ) & "PCS"
            End If
     Else
            e.DataRow("数量")=Nothing
     End If
End If

输入85后,表格中能显示85PCS,但是会出现报错框,里面的内容是:

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.10.26.1
错误所在事件:表,产品,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“85PCS”到类型“Integer”的转换无效。
输入字符串的格式不正确。



图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/25 14:49:00 [只看该作者]

数量经常会参与计算,不应该使用字符列,也不应该添加单位。单位一般另外用一列显示。

如果一定要在数量列显示,可以利用drawcell事件虚拟增加一个单位显示:http://www.foxtable.com/webhelp/scr/0656.htm
数量列改为整型
If e.Col.Name = "数量" andalso e.Row(e.Col.Name) > 0 Then 
    e.Text = e.Row(e.Col.Name) & "PCS" 
End IF

 回到顶部