以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 求助:工程计算式中,统计得出合价,单价如何根据合价与工程量反算得出单价? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=177882) |
-- 作者:317617216 -- 发布时间:2022/6/8 11:29:00 -- 求助:工程计算式中,统计得出合价,单价如何根据合价与工程量反算得出单价? 求助: 第1个问题: 工程计算式中,统计得出合价,单价如何根据合价与工程量反算得出单价? 第3个问题: 折叠模式下,如果某一行有子行,那就禁止删除此行,但用下面代码,带子行的行还是给删除了,子行却保留了呢? im cr As Row = Tables("物料清单A").Current If Tables("物料清单A").GridTreeVisible Then If cr.HasChild() Then MessageBox.show("此行有子行,无法删除!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning) Return End If End If cr.Delete() 在表事件中能设置吗?
|
-- 作者:有点蓝 -- 发布时间:2022/6/8 11:42:00 -- 1、目前只能汇总,无法计算 2、在折叠模式下新增即可:http://www.foxtable.com/webhelp/topics/3721.htm 3、我测试没有问题
|
-- 作者:狐狸爸爸 -- 发布时间:2022/6/8 11:43:00 -- 第一个问题,可以考虑DrawCell事件,代码: If e.Col.Name = "单价" Then e.Text = e.Row.GetValue("金额") / e.Row.GetValue("数量") End If |
-- 作者:317617216 -- 发布时间:2022/6/8 11:45:00 -- 谢谢 |
-- 作者:317617216 -- 发布时间:2022/6/8 12:08:00 -- 以下是引用狐狸爸爸在2022/6/8 11:43:00的发言:
第一个问题,可以考虑DrawCell事件,代码: If e.Col.Name = "单价" Then e.Text = e.Row.GetValue("金额") / e.Row.GetValue("数量") End If \'调用的目标发生了异常。 \'没有为 类型“Double” 和 类型“DBNull” 定义运算符“ / ”。 |
-- 作者:有点蓝 -- 发布时间:2022/6/8 12:11:00 -- 判断一下金额和数量是否有值,再计算 |
-- 作者:狐狸爸爸 -- 发布时间:2022/6/8 15:19:00 -- 可以直接用的代码: If e.Row.Hierarchy >= 0 AndAlso e.Col.Name = "单价" Then If e.Row.GetValue("金额") IsNot dbnull.Value AndAlso e.Row.GetValue("数量") IsNot dbnull.value Then e.Text = e.Row.GetValue("金额") / e.Row.GetValue("数量") End If End If |
-- 作者:建筑人生 -- 发布时间:2022/6/10 9:59:00 -- 可以增加一列合价还是单价,如果合价就反算,单价就正算 |
-- 作者:317617216 -- 发布时间:2022/6/23 18:36:00 -- 以下是引用狐狸爸爸在2022/6/8 15:19:00的发言:
可以直接用的代码: If e.Row.Hierarchy >= 0 AndAlso e.Col.Name = "单价" Then If e.Row.GetValue("金额") IsNot dbnull.Value AndAlso e.Row.GetValue("数量") IsNot dbnull.value Then e.Text = e.Row.GetValue("金额") / e.Row.GetValue("数量") End If End If 列本身是表达式列,属性设置了为2位小数,这样代码后的列小数位就不固定了?? |
-- 作者:有点蓝 -- 发布时间:2022/6/23 20:17:00 -- e.Text = round(e.Row.GetValue("金额") / e.Row.GetValue("数量") ,2) |