Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
e.Form.Controls("TextBox14").Value = e.Sender.value + 5000
之前请教过这样一个代码,后来通过表达式解决了。但是表达式只读,不太灵活(有时候有特殊情况需要改数据)
现在我把这个代码加进了 客户档案信息窗口里的 当前里程文本框
发现一个问题,就是我如果在文本框输入数据,与之关联的下次保养公里数并没有实时变化。
后来看了帮助里有个 e.Sender.WriteValue() 但是试了好多次也没成功!
下载信息 [文件大小: 下载次数: ] | |
![]() |
如何解决~?
搞了一下午也没解决这问题 哎!
错误代码位置:窗口,客户档案信息,TextBox14,ValueChanged
System.NullReferenceException: 未将对象引用设置到对象的实例。
在 Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags)
在 Microsoft.VisualBasic.CompilerServices.NewLateBinding.CallMethod(Container BaseReference, String MethodName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, BindingFlags InvocationFlags, Boolean ReportErrors, ResolutionFailure& Failure)
在 Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateCall(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn)
在 UserCode.ValueChanged_0cacff6f(ControlEventArgs e)
出错~。。。 e.Sender.WriteValue()
表我也试验过 没用 代码如下 您看下 datacolchanged
Select Case e.DataCol.Name
Case "当前里程","下次保养公里数"
Dim dr As DataRow
If dr("当前里程")="" Then
dr("下次保养公里数")= 3000
Else
dr("下次保养公里数")= dr("当前里程") + 5000
End If
End Select
对的 我现在这个窗口有个毛病 比如 输入了5000 然后点击 TextBox14 就会出现10000
但是如果此时 我再修改5000的数据 TextBox14 还是显示10000 有问题!
最好实时的 例如:我想输入5000 当我输入5时 TextBox14 是5005; 50时 是5050.。。。。。
Select Case e.DataCol.Name
Case "当前里程","下次保养公里数"
Dim dr As DataRow =e.DataRow
If dr("当前里程")=0 Then
dr("下次保养公里数")= 3000
Else
dr("下次保养公里数")= dr("当前里程") + 5000
End If
End Select
你看看首先必须要定义 e.datarow ,第二个就是dr("当前里程")=0 因为是数值必须为零,而不是空值 也就是= "" ,明白不?