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


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

主题:复制数据

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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
复制数据  发帖心情 Post By:2017/6/8 0:08:00 [只看该作者]

我想把列“BMI计算值”的数据复制到列“BMI值”里,代码有问题吗?

If e.DataCol.Name = "BMI计算值" Then
    If e.DataRow.IsNull("BMI计算值") Then
        e.DataRow("BMI值") = Nothing
    Else
        e.DataRow("BMI值") = e.DataRow("BMI计算值")
    End If
End If


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


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


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

代码没有问题,选中“BMI计算值”列,然后菜单“重置列”

另外BMI计算值和BMI值列都不能是表达式列

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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
  发帖心情 Post By:2017/6/8 11:12:00 [只看该作者]

就是因为“BMI计算值”是表达式列,所以当datacolchanged里面的代码没有执行,我才想把数据复制到另外一列“BMI值”来进行计算评分

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


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

“BMI计算值”表达式是怎么样的

或者把这个列改为数据列,通过代码计算,就没有必要分开2个列了

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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
  发帖心情 Post By:2017/6/8 11:56:00 [只看该作者]

bmi的公式是:体重/身高*身高

表达式列:
Convert(([体重] / ([身高] * [身高]) * 10000) * 100, 'System.Int64') / 100

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


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

解决办法:
http://www.foxtable.com/webhelp/scr/2381.htm


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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
  发帖心情 Post By:2017/6/8 17:49:00 [只看该作者]

这个办法效率好像比较低,最好还是用代码计算比较好

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/8 18:01:00 [只看该作者]

Select Case e.DataCol.Name
    Case "体重","身高"
        e.DataRow("BMI值") = e.DataRow("体重") / (e.DataRow("身高") *e.DataRow("身高") )
End Select

按5楼公式自己计算

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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
  发帖心情 Post By:2017/6/8 20:15:00 [只看该作者]

请老师看看这样会报错

Select Case e.DataCol.Name
    Case "体重","身高"
        e.DataRow("BMI值") = Convert((e.DataRow("体重") / (e.DataRow("身高") *e.DataRow("身高") ) * 10000) * 100, 'System.Int64') / 100
End Select

[此贴子已经被作者于2017/6/8 20:15:19编辑过]

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


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

e.DataRow("BMI值") = e.DataRow("体重") / (e.DataRow("身高") *e.DataRow("身高") ) * 10000

 回到顶部
总数 28 1 2 3 下一页