Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]老问题有新问题!

1楼
gaoyong30000 发表于:2011/8/25 16:07:00

e.Form.Controls("TextBox14").Value = e.Sender.value + 5000

 

之前请教过这样一个代码,后来通过表达式解决了。但是表达式只读,不太灵活(有时候有特殊情况需要改数据)

 

现在我把这个代码加进了  客户档案信息窗口里的 当前里程文本框 

发现一个问题,就是我如果在文本框输入数据,与之关联的下次保养公里数并没有实时变化。

                    后来看了帮助里有个 e.Sender.WriteValue()  但是试了好多次也没成功!

 

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:内控系统21.rar

2楼
gaoyong30000 发表于:2011/8/25 17:23:00

如何解决~?

3楼
gaoyong30000 发表于:2011/8/25 19:48:00

搞了一下午也没解决这问题 哎!

4楼
czy 发表于:2011/8/25 19:54:00
TextBox14控件的ValueChanged代码设置成:e.Sender.WriteValue()不行吗?
5楼
czy 发表于:2011/8/25 19:56:00
不过我感觉还是直接写入表中的下次保养公里数中好。
6楼
布莱克朱 发表于:2011/8/25 20:04:00
如果我输入5000,那么结果是多少,10000?
7楼
gaoyong30000 发表于:2011/8/25 20:06:00

错误代码位置:窗口,客户档案信息,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()

 

 

8楼
gaoyong30000 发表于:2011/8/25 20:06:00

表我也试验过 没用  代码如下  您看下 datacolchanged

 

Select Case e.DataCol.Name
    Case "当前里程","下次保养公里数"
        Dim dr As DataRow
        If dr("当前里程")="" Then
            dr("下次保养公里数")= 3000
        Else
            dr("下次保养公里数")= dr("当前里程") + 5000
        End If
End Select

[此贴子已经被作者于2011-8-25 20:06:44编辑过]
9楼
gaoyong30000 发表于:2011/8/25 20:16:00
以下是引用布莱克朱在2011-8-25 20:04:00的发言:
如果我输入5000,那么结果是多少,10000?

对的  我现在这个窗口有个毛病  比如 输入了5000 然后点击  TextBox14  就会出现10000

但是如果此时 我再修改5000的数据  TextBox14 还是显示10000  有问题!

 

最好实时的 例如:我想输入5000  当我输入5时  TextBox14 是5005;  50时 是5050.。。。。。

10楼
布莱克朱 发表于:2011/8/25 20:32:00

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  因为是数值必须为零,而不是空值  也就是= ""  ,明白不?

共13 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 3 queries.