以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]DataColChanged如何将改动的列名设为动态 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108830) |
-- 作者:syjylyq -- 发布时间:2017/10/30 16:29:00 -- [求助]DataColChanged如何将改动的列名设为动态 我用Eval函数动态设置公式,其中DataColChanged的更改的数据列希望可以动态设置,根据参与计算的字段判定是否触发公式,请问代码怎么写? 内部函数 \'Functions.Execute(函数名, e,表名称,变更字段) Dim e = Args(0) Dim l As String = Args(1) Dim b As String = args(2) Dim p As String = "表名称 = \'" & l & "\' And 参与计算字段 Like \'%" & b & "%\'" Dim drs As List(Of DataRow) = DataTables("计算公式").Select(p) \'查找变更字段涉及的公式 Dim s As Single For Each dr As DataRow In drs s = Eval(dr("公式"),e.DataRow) e.DataRow(dr("归属字段")) = Math.Ceiling(s) Next 其中设置公式的表如下: |
-- 作者:有点甜 -- 发布时间:2017/10/30 16:35:00 -- Dim fdr As DataRow = DataTables("计算公式").Find("\',\' + 参与计算字段 + \',\' like \'%," & e.datacol.name & ",%\'") If fdr IsNot Nothing Then msgbox("执行函数") End If |
-- 作者:liufucan -- 发布时间:2021/12/17 20:19:00 -- 请教老师,可以根据公式来判断参与计算的字段吗?比如这样 Dim fdr As DataRow = DataTables("计算公式").Find("\'[\' + 公式 + \']\' like \'%[" & e.datacol.name & "]%\'") If fdr IsNot Nothing Then msgbox("执行函数") End If [此贴子已经被作者于2021/12/17 20:54:20编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/12/18 9:17:00 -- 应该可以。这种问题测试一下不就知道了 |