以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 触发表达式的事件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73629) |
-- 作者:jinzhengbe -- 发布时间:2015/8/23 16:56:00 -- 触发表达式的事件 串货,和借货的菜单
正常 应该是 输入数量 在父表减轻相同数量
或者如果输入金额。 在父表 减去 金额除以 单价的数量,
但是现在 这两个条件只能满足一个, 不能同时满足两个,应该是字表的代码有问题,还是父表的代码有问题,
请给位给指点下, 是在不会了 [此贴子已经被作者于2015/10/31 13:58:27编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/8/23 16:58:00 -- 你连最基础的语法都不会啊,去把帮助文档看一遍。 |
-- 作者:大红袍 -- 发布时间:2015/8/23 17:19:00 -- If e.DataCol.name ="yihuishoujin" Then Dim pr As DataRow = e.DataRow.GetParentRow("chuanhuo2") \'找出对应的父行 If pr IsNot Nothing Then DataTables("chuanhuo2").DataCols("tuijin").RaiseDataColChanged(pr) \'通知系统此父行的数量列发生了改变,触发DataColChanged事件 e.DataRow("huitime") =Date.now() e.DataRow("zhiyuan2") =user.name e.DataRow("cc")=e.DataRow("yihuishoujin") / e.DataRow("price") End If Else If e.DataCol.name ="yihuishounum" Dim pr1 As DataRow = e.DataRow.GetParentRow("chuanhuo2") \'找出对应的父行 If pr1 IsNot Nothing Then DataTables("chuanhuo2").DataCols("tuinum").RaiseDataColChanged(pr1) \'通知系统此父行的数量列发生了改变,触发DataColChanged事件 e.DataRow("huitime") =Date.now() e.DataRow("zhiyuan2") =user.name End If End If |
-- 作者:jinzhengbe -- 发布时间:2015/8/23 19:30:00 -- 这不是我要的结果啊
我的想法是这样的
如果输入的是yihuishoujin cc= yihuishoujin/单价
aa= cc+ yihuishoushuliang
父表的 tuinum =sum(子表的aa)
那是不是aa发生变化 才能通知父表 tuinum 触发 datachanged
而不是 yihuishoujin 或者yihuishounum
[此贴子已经被作者于2015/8/23 19:32:31编辑过]
|
-- 作者:有点蓝 -- 发布时间:2015/8/23 19:42:00 -- aa如果是表达式列的话就不能触发datacolchanged事件 因为你aa是前两个算出来的,所以是yihuishoujin 或者yihuishounum两个变化时触发
|
-- 作者:jinzhengbe -- 发布时间:2015/8/23 20:10:00 -- 现在chuanhuo2的tuinum好像并没有变化啊 |
-- 作者:大红袍 -- 发布时间:2015/8/23 20:10:00 -- 要不你就不要用重置列的方式。直接取父表的值,计算更好啊。
Dim pr1 As DataRow = e.DataRow.GetParentRow("chuanhuo2") \'找出对应的父行 pr1("某列") = pr1("某列") + pr1("某列") |