以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 我建立了一个临时列来计算数据付给一个列但是,总是提示列已经建立,我加了判断,为何没用呀,顺便问问,我不用临时列我可以有方法直接计算数据吗?比如我分析得到字符串"0.8*0.8*9"有方法可以直接计算吗 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65564) |
-- 作者:a937775799 -- 发布时间:2015/3/18 14:56:00 -- 我建立了一个临时列来计算数据付给一个列但是,总是提示列已经建立,我加了判断,为何没用呀,顺便问问,我不用临时列我可以有方法直接计算数据吗?比如我分析得到字符串"0.8*0.8*9"有方法可以直接计算吗 我建立了一个临时列来计算数据付给一个列但是,总是提示列已经建立,我加了判断,为何没用呀,顺便问问,我不用临时列我可以有方法直接计算数据吗?比如我分析得到字符串"0.8*0.8*9"有方法可以直接计算吗 这段代码在对应表的dataColchanged里面 Dim b As List(Of DataRow) = DataTables("表达式列表").Select("表名 =\'" + e.DataTable.Name+"\'" ) If IsNothing (temp_col) temp_col.Expression = br("表达式") \'设置计算列 [此贴子已经被作者于2015/3/18 15:02:17编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/3/18 14:59:00 -- 呃。
For Each br As DataRow In b http://www.foxtable.com/help/topics/1277.htm
|
-- 作者:有点甜 -- 发布时间:2015/3/18 15:02:00 -- For Each br As DataRow In b If DataTables("表A").DataCols.Contains(s_ls) Then DataTables("表A").DataCols.Remove(s_ls) End If e.DataTable.DataCols.Add(s_ls, Gettype(Double), br("表达式") ) \'建立临时计算列 For Each r As DataRow In tarb.DataRows r(br("列名")) = r(s_ls) Next DataTables("表A").DataCols.Remove(s_ls) Next |
-- 作者:a937775799 -- 发布时间:2015/3/18 15:20:00 -- For Each br As DataRow In b temp_col = e.DataTable.DataCols.Add(s_ls, Gettype(Double),br("表达式") ) \'建立临时计算列
用临时列计算这样就可以了 |
-- 作者:a937775799 -- 发布时间:2015/3/18 15:27:00 -- 这个也可以 不过感觉 For Each br As DataRow In b 谢谢 你了 |
-- 作者:a937775799 -- 发布时间:2015/3/18 16:10:00 -- 用eval 根本不刷新界面 还是这个好 |