Foxtable(狐表)用户栏目专家坐堂 → [求助]自动计算列的数据,如何实现手动更改!


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

主题:[求助]自动计算列的数据,如何实现手动更改!

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
[求助]自动计算列的数据,如何实现手动更改!  发帖心情 Post By:2011/8/26 9:38:00 [只看该作者]

我这个项目 有2列   当前里程 和 最后保养公里数

最后保养公里数=当前里程+3000    或  当前里程+5000

                       当前里程为空             当前里程非空

 

但是有时候 我需要手动更改保存 最后保养公里数

 

之前用了表达式列  和  表属性 datachanged事件均不可手动更改

 

利用窗口控件事件也出错

e.Form.Controls("TextBox14").Value = e.Sender.value + 5000

 

特来求助~~

 

现在表属性 datachanged事件代码为

Select Case e.DataCol.Name
    Case "当前里程","下次保养公里数"
        Dim dr As DataRow = e.DataRow
        If dr("当前里程")= 0 Then
            dr("下次保养公里数") = 3000
        Else
            dr("下次保养公里数")= dr("当前里程") + 5000
        End If
End Select

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:内控系统22.rar


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/8/26 10:07:00 [只看该作者]

可能要增加一个判别列了·····或在其他文本列中输入一个特别的记号来判别。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/26 10:10:00 [只看该作者]

Select Case e.DataCol.Name
    Case "当前里程"
        Dim dr As DataRow = e.DataRow
        If dr("当前里程")= 0 Then
            dr("下次保养公里数") = 3000
        Else
            dr("下次保养公里数")= dr("当前里程") + 5000
        End If
End Select

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/26 10:27:00 [只看该作者]

图片点击可在新窗口打开查看又一次

 

Case "当前里程","下次保养公里数"

多了一个 下次保养公里数 就会出现不可修改  原理是什么?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/26 10:31:00 [只看该作者]

如果多一个下次保养公里数的话,每次修改下次保养公里数,就会执行:

 

    Dim dr As DataRow = e.DataRow
    If dr("当前里程")= 0 Then
        dr("下次保养公里数") = 3000
     Else
        dr("下次保养公里数")= dr("当前里程") + 5000
    End If


 

也就是手工修改了下次保养公里数,就会按上面的代码重算下次保养公里数,输入自然就无效了。

 

建议重读帮助文件3遍,特别是foxtable编程这部分。

[此贴子已经被作者于2011-8-26 10:32:18编辑过]

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


加好友 发短信
等级:二尾狐 帖子:512 积分:4146 威望:0 精华:0 注册:2009/10/8 16:43:00
  发帖心情 Post By:2011/8/26 10:33:00 [只看该作者]

需要修改的数据不要用表达式列,手动修改最好设置相应的权限

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/26 10:42:00 [只看该作者]

恩  我也正准备再 仔细看几遍帮助呢


 回到顶部