以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于表格数据自动更新问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160591) |
-- 作者:aoyanghongwei -- 发布时间:2021/2/7 16:06:00 -- 关于表格数据自动更新问题 我做了个表格表达式列,目的是:技能得分=技能达标率*15,一个很简单的列,现在主要问题是:即使技能达标率自动变化了,但技能得分的值不能自动变化; 请大神帮忙看看,到底是哪的问题? 补充一下: 技能达标率 是通过关联表 自动更新的值,非人工直接输入。 [此贴子已经被作者于2021/2/7 16:06:47编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/2/7 16:14:00 -- http://www.foxtable.com/webhelp/topics/2381.htm |
-- 作者:aoyanghongwei -- 发布时间:2021/2/7 17:19:00 -- If e.DataCol.name = "数量" Then Dim pr As DataRow = e.DataRow.GetParentRow("订单") \'找出对应的父行 If pr IsNot Nothing Then DataTables("订单").DataCols("数量").RaiseDataColChanged(pr) \'通知系统此父行的数量列发生了改变,触发DataColChanged事件 End If End If 如上述代码中加下划线的这句,其中的datarow “订单”应该是子表中的某列列名吗? 因为是统计子表中的某列数据发生变化了,才导致父表中相应的行、列需要更新。 我的子表是“岗位ZC”,父表是当前表:“员工岗位ZC状态总表",目前根据帮助写的是这样的,但是不行。需怎么改呢? If e.DataCol.name = "岗位技能达标率" Then Dim pr As DataRow = Tables("岗位ZC").DataRow.GetParentRow("批复结果") \'找出对应的父行 If pr IsNot Nothing Then DataTables("员工岗位ZC状态总表").DataCols("岗位技能达标率").RaiseDataColChanged(pr) End If End If If e.DataCol.name = "岗位技能达标率" Then If e.DataRow("岗位ZC")<>"7-专家" Then \'这个”岗位ZC“是当前表里的行,与那个子表同名。 e.DataRow("技能得分") = e.DataRow("岗位技能达标率")*15 Else e.DataRow("技能得分") = e.DataRow("岗位技能达标率")*10 End If End If |
-- 作者:有点蓝 -- 发布时间:2021/2/7 17:27:00 -- http://www.foxtable.com/webhelp/topics/0432.htm If e.DataCol.name = "岗位ZC" Then If e.DataRow("岗位ZC")<>"7-专家" Then \'这个”岗位ZC“是当前表里的行,与那个子表同名。 e.DataRow("技能得分") = e.DataRow("岗位技能达标率")*15 Else e.DataRow("技能得分") = e.DataRow("岗位技能达标率")*10 End If End If |