以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 在drawcell获取显示的值 赋值到另一列 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62081) |
-- 作者:896539326 -- 发布时间:2014/12/25 9:17:00 -- 在drawcell获取显示的值 赋值到另一列 在drawcell中输入 If e.Col.Name = "数量" Then If e.Row(e.Col.Name) IsNot Nothing AndAlso e.Row(e.Col.Name).StartsWith("=") Then e.text = Eval(e.Row(e.Col.Name).substring(1)) End If End If 这面的功能是实现 输入=1+2 显示3,我想获取 显示3的值 并赋值到 另一个新的列数量2中,求指教
|
-- 作者:Bin -- 发布时间:2014/12/25 9:22:00 -- If e.Col.Name = "数量" Then If e.Row.isnull(e.Col.Name)=false AndAlso e.Row(e.Col.Name).StartsWith("=") Then e.text = Eval(e.Row(e.Col.Name).substring(1)) End If End If
|
-- 作者:896539326 -- 发布时间:2014/12/25 10:10:00 -- bin 大神 你只是给我的代码复制了下 没怎么变啊 |
-- 作者:Bin -- 发布时间:2014/12/25 10:11:00 -- 仔细看,动手试 |
-- 作者:狐狸爸爸 -- 发布时间:2014/12/25 10:43:00 -- 以下是引用896539326在2014-12-25 10:10:00的发言:
bin 大神 你只是给我的代码复制了下 没怎么变啊
如果要在另一列显示计算结果,要用DataColChanged事件:
If e.DataCol.Name = "数量" Then if e.NewValue > "" AndAlso e.NewValue.StartsWith("=") then e.DataRow("另一列") = Eval(e.NewValue.SubString(1)) End If End If
设置完成之后,要重置一下数量列,已经输入的数据才会计算: http://www.foxtable.com/help/topics/1469.htm [此贴子已经被作者于2014-12-25 10:47:06编辑过]
|
-- 作者:896539326 -- 发布时间:2014/12/25 10:57:00 -- 真心谢谢 大神们 节日快乐~ |