以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 复制数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101828) |
-- 作者:yangjing -- 发布时间: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 |
-- 作者:有点蓝 -- 发布时间:2017/6/8 9:06:00 -- 代码没有问题,选中“BMI计算值”列,然后菜单“重置列” 另外BMI计算值和BMI值列都不能是表达式列
|
-- 作者:yangjing -- 发布时间:2017/6/8 11:12:00 -- 就是因为“BMI计算值”是表达式列,所以当datacolchanged里面的代码没有执行,我才想把数据复制到另外一列“BMI值”来进行计算评分 |
-- 作者:有点蓝 -- 发布时间:2017/6/8 11:25:00 -- “BMI计算值”表达式是怎么样的 或者把这个列改为数据列,通过代码计算,就没有必要分开2个列了
|
-- 作者:yangjing -- 发布时间:2017/6/8 11:56:00 -- bmi的公式是:体重/身高*身高 表达式列: Convert(([体重] / ([身高] * [身高]) * 10000) * 100, \'System.Int64\') / 100 |
-- 作者:狐狸爸爸 -- 发布时间:2017/6/8 12:30:00 -- 解决办法: http://www.foxtable.com/webhelp/scr/2381.htm |
-- 作者:yangjing -- 发布时间:2017/6/8 17:49:00 -- 这个办法效率好像比较低,最好还是用代码计算比较好 |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间: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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/6/9 8:52:00 -- e.DataRow("BMI值") = e.DataRow("体重") / (e.DataRow("身高") *e.DataRow("身高") ) * 10000 |