-- 作者:gohtml
-- 发布时间:2013/3/28 17:51:00
--
如果在"预定_休闲大床房_数量" 中先填写数据,会发生如下错误
--------------------------------------------------------------
.NET Framework 版本:2.0.50727.6400 Foxtable 版本:2012.11.28.1 错误所在事件:表,预定表,DataColChanged 详细错误信息: System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.ArgumentException: 列“_”不属于表 房价明细表。 在 Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags) 在 Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack) 在 UserCode.DataColChanged(DataColEventArgs e) --- 内部异常堆栈跟踪的结尾 --- 在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) 在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 在 Foxtable.DataTable.O1100l0O01l110O0l00Oll11(Object O0l0O0, DataColumnChangeEventArgs O)
|
-- 作者:gohtml
-- 发布时间:2013/3/28 17:59:00
--
Select Case e.DataCol.Name Case "预定_休闲大床房_间数","时间段","类型" If e.DataRow.IsNull(e.DataCol.Name) Then e.DataRow("预定_休闲大床房_单价") = Nothing e.DataRow("预定_休闲大床房_房价") = Nothing Else Dim dr As DataRow = DataTables("房价明细表").Find("房型=\'休闲大床房\'") If dr IsNot Nothing Then e.DataRow("预定_休闲大床房_单价") = dr(e.DataRow("时间段") & "_" & e.DataRow("类型")) e.DataRow("预定_休闲大床房_房价") = dr(e.DataRow("时间段") & "_" & e.DataRow("类型")) * e.DataRow("预定_休闲大床房_间数") End If End If Case "预定_休闲双标房_间数","时间段","类型" If e.DataRow.IsNull(e.DataCol.Name) Then e.DataRow("预定_休闲双标房_单价") = Nothing e.DataRow("预定_休闲双标房_房价") = Nothing Else Dim dr As DataRow = DataTables("房价明细表").Find("房型=\'休闲双标房\'") If dr IsNot Nothing Then e.DataRow("预定_休闲双标房_单价") = dr(e.DataRow("时间段") & "_" & e.DataRow("类型")) e.DataRow("预定_休闲双标房_房价") = dr(e.DataRow("时间段") & "_" & e.DataRow("类型")) * e.DataRow("预定_休闲双标房_间数") End If End If End Select
-----------------------------------------------------------
把代码给成这样,当"时间段"或者"类型"发生变化时,"预定_休闲大床房_单价"及"预定_休闲大床房_房价"会发生变化,但是"预定_休闲双标房_单价"及"预定_休闲双标房_房价"却没有变化,不知道我错在哪里...还请指教.感谢muhua的耐心回答
|
-- 作者:狐狸爸爸
-- 发布时间:2013/3/28 18:06:00
--
Select Case e.DataCol.Name Case "预定_休闲大床房_间数","时间段","类型" If e.DataRow.IsNull(e.DataCol.Name) Then e.DataRow("预定_休闲大床房_单价") = Nothing e.DataRow("预定_休闲大床房_房价") = Nothing Else Dim dr As DataRow = DataTables("房价明细表").Find("房型=\'休闲大床房\'") If dr IsNot Nothing Then e.DataRow("预定_休闲大床房_单价") = dr(e.DataRow("时间段") & "_" & e.DataRow("类型")) e.DataRow("预定_休闲大床房_房价") = dr(e.DataRow("时间段") & "_" & e.DataRow("类型")) * e.DataRow("预定_休闲大床房_间数") End If End If End Select Select Case e.DataCol.Name Case "预定_休闲双标房_间数","时间段","类型" If e.DataRow.IsNull(e.DataCol.Name) Then e.DataRow("预定_休闲双标房_单价") = Nothing e.DataRow("预定_休闲双标房_房价") = Nothing Else Dim dr As DataRow = DataTables("房价明细表").Find("房型=\'休闲双标房\'") If dr IsNot Nothing Then e.DataRow("预定_休闲双标房_单价") = dr(e.DataRow("时间段") & "_" & e.DataRow("类型")) e.DataRow("预定_休闲双标房_房价") = dr(e.DataRow("时间段") & "_" & e.DataRow("类型")) * e.DataRow("预定_休闲双标房_间数") End If End If End Select
理由:
http://www.foxtable.com/help/topics/2242.htm
|