以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码冲突,求解决! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89793) |
-- 作者:zhy400137 -- 发布时间:2016/8/30 9:55:00 -- 代码冲突,求解决! 1、PrepareEdit \'字典设置 Dim tb As New DropTreeBuilder If e.Col.Name="部门ID" Then If e.IsFocusCell Then If e.Row("科目一级")="管理费用" Then tb.TreeFilter="类型=\'后勤\'" ElseIf e.Row("科目一级")="营业费用" Then tb.TreeFilter="类型=\'销售部\'" ElseIf e.Row("科目一级")="财务费用" Then tb.TreeFilter="类型=\'公司整体\'" End If tb.SourceTable = DataTables("预算部门管理") \'指定目录树表 tb.TreeCols = "区域名称|部门名称" \'指定用于生成目录树的列 tb.SourceCols = "ID|类型|区域名称|地区名称|部门名称" \'指定数据来源列 tb.ReceiveCols = "部门ID|部门类型|区域名称|地区名称|部门名称" \'指定数据接收列 Tables("预算填写").Cols("部门ID").DropTree = tb.Build() End If End If 2、BeforeSaveDataRow Dim dr As DataRow = e.DataRow If dr.Isnull("部门ID") OrElse dr.Isnull("期间") OrElse dr.Isnull("费用金额") Then e.Cancel=True MessageBox.show("至少要填入部门ID,期间和费用金额!","提示") Else If dr.RowState=DataRowState.Added Or dr.Rowstate = DataRowState.Modified Then Dim dr1 As DataRow = DataTables("修改日志").AddNew dr1("预算填写ID") = dr("ID") dr1("用户ID") = _UserName dr1("用户名称") = _UserXm dr1("修改时间") = Date.Now dr1("表名")= "预算填写" dr1("列名") = "费用金额" dr1("原数值")= dr.OriginalValue("费用金额") dr1("现数值") =dr("费用金额") dr1.save End If End If 两段代冲突,只要将光标放在用户ID列点保存,马上死机。把第一段的Messagebox拿掉就OK。求教是为什么?
|
-- 作者:zhy400137 -- 发布时间:2016/8/30 9:56:00 -- 第一段的 If e.Col.Name="部门ID" Then If e.IsFocusCell Then 这两句IF位置互换前,不放在用户ID列也死机,互换后放在ID死机。
|
-- 作者:zhy400137 -- 发布时间:2016/8/30 10:03:00 -- 保存按钮的代码,只是简单的tables("预算填写").save |
-- 作者:zhy400137 -- 发布时间:2016/8/30 10:04:00 -- 昨天折腾了半天,请老师帮看看,谢谢! |
-- 作者:zhy400137 -- 发布时间:2016/8/30 10:18:00 -- 2楼问题是自己误看,但确是只要放在弹出树型控件的客户ID,一点保存就死机! |
-- 作者:cbt -- 发布时间:2016/8/30 10:21:00 -- MessageBox.show("至少要填入部门ID,期间和费用金额!","提示") return |
-- 作者:zhy400137 -- 发布时间:2016/8/30 10:25:00 -- 谢谢楼上,但加了也不行,一点就死机! |
-- 作者:zhy400137 -- 发布时间:2016/8/30 10:28:00 -- 把1段中的 MessageBox.show("至少要填入部门ID,期间和费用金额!","提示")拿了就不死机了,但这个提示是必要的。 |
-- 作者:Hyphen -- 发布时间:2016/8/30 10:48:00 -- PrepareEdit代码放到StartEdit |
-- 作者:zhy400137 -- 发布时间:2016/8/30 10:57:00 -- 可以了,但原因大约是什么,谢谢老师! |