以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=49894) |
||||
-- 作者:tina2012 -- 发布时间:2014/4/25 14:43:00 -- 问题 PrepareEdit事件:
If e.Row.IsNull("完成") = True Then \'锁定"完成"列为空的行
但是新增订单时,不能编辑了。去掉这段代码,新增订单就可以,点击“客户Id”,可以选择客户。但是加上这一段,新增订单后,不能操作。这是什么原因呢??请帮忙。 ![]() ![]() ![]() ![]() [此贴子已经被作者于2014-4-25 14:43:59编辑过]
|
||||
-- 作者:tina2012 -- 发布时间:2014/4/25 14:45:00 -- 新增订单时,“完成”列非空,有值为“未完成” |
||||
-- 作者:Bin -- 发布时间:2014/4/25 14:54:00 -- 上个例子看看,如果有值,不应该会运行锁定代码的哦. 试试 If e.Row.IsNull("完成") = True Then \'锁定"完成"列为空的行 \'e.Cancel = True Tables("Sales_Order_List").Current.locked = True ELSE Tables("Sales_Order_List").Current.locked = False
End If |
||||
-- 作者:tina2012 -- 发布时间:2014/4/25 15:03:00 -- 新增订单 按钮代码:
Tables("Sales_Order_List").AddNew \'增加订单时 Tables("Sales_Order_List").Current("DeliveryDate") = Date.today
是不是此时,"未完成"还没有填入“完成”列??? |
||||
-- 作者:Bin -- 发布时间:2014/4/25 15:11:00 -- PrepareEdit 是进入编辑才触发的. 你还是上个例子看看吧 |
||||
-- 作者:tina2012 -- 发布时间:2014/4/25 16:11:00 -- 不好意思,是连在公司服务器上的,不能上传例子,请帮忙看一下,这样也不行,是不是有触发先后的问题。
If e.Row.IsNull("完成") = True And e.Row("SubmitDate") < Date.Today Then \'锁定"完成"列为空的列,也就是之前的订单;同时锁定订单已完成的列
我切换菜单,再回到此界面时,就不会锁定了,可以正常输入了。。。。。这是不是一个问题??? |
||||
-- 作者:Bin -- 发布时间:2014/4/25 16:12:00 -- 让你上个例子,并不是让你把项目发出来. 所以连哪里并不影响你上例子, 做个内容数据源的例子发上来即可. |
||||
-- 作者:有点甜 -- 发布时间:2014/4/25 16:20:00 -- 回复楼主,你改成3楼这样还有问题?
If e.Row.IsNull("完成") = True Then \'锁定"完成"列为空的行
\'e.Cancel = True e.Row.locked = True ELSE
e.Row.locked = False
End If |
||||
-- 作者:tina2012 -- 发布时间:2014/4/25 16:33:00 --
例子已上传, |
||||
-- 作者:Bin -- 发布时间:2014/4/25 16:40:00 -- 最简单的办法.在增加行后面添加解锁代码 Tables("Sales_Order_List").AddNew \'增加订单时 Tables("Sales_Order_List").Current("日期")= Date.today Tables("Sales_Order_List").Current("完成") = "未完成" Tables("Sales_Order_List").Current.Locked=False |