以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  给文本框赋值不成工  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=31573)

--  作者:zhoushijun
--  发布时间:2013/4/17 15:42:00
--  给文本框赋值不成工
Dim tb10 As WinForm.TextBox = e.Form.Controls("TextBox10")
Dim cb2 As WinForm.ComboBox = e.Form.Controls("ComboBox2")
Dim t1 As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim t2 As WinForm.TextBox = e.Form.Controls("TextBox2")
Dim t3 As WinForm.TextBox = e.Form.Controls("TextBox3")
Dim t4 As WinForm.TextBox = e.Form.Controls("TextBox4")
Dim t5 As WinForm.TextBox = e.Form.Controls("TextBox5")
Dim t6 As WinForm.TextBox = e.Form.Controls("TextBox6")
Dim t7 As WinForm.TextBox = e.Form.Controls("TextBox7")
Dim t8 As WinForm.TextBox = e.Form.Controls("TextBox8")
Dim t9 As WinForm.TextBox = e.Form.Controls("TextBox9")

Dim tem As String = tb10.Text
Dim temp() As String = tem.Split(" ")
If tb10.text.Trim <>"" Then
    Tables("buyerdz").AddNew
    Select  Case cb2.Text.Trim
        Case "中信"
            msgbox (temp.Length)
            If temp.Length>1 Then
                msgbox (temp(0))
                t1.Text=temp(0)
                t2.Text=temp(1)
                t3.Text=temp(2)
                t4.Text=temp(3)
                t5.Text=temp(4)
                t6.Text=temp(5)
                If temp.Length>6 Then
                    t7.Text=temp(6)
                End If
                If temp.Length>7 Then
                    t8.Text=temp(7)
                End If
                If temp.Length>8Then
                    t9.Text=temp(8)
                End If
            Else
                messagebox.Show("字符串异常,无法自动录入.请重新输入(或手动录入)","提示")
            End If
            
        Case "交行"
            If temp.Length>8 Then
                t1.Text=temp(0)
                t3.Text=temp(1)
                t7.Text=temp(2)
                t8.Text=temp(3)
                t9.Text=temp(4)
                t4.Text=temp(5)
                t5.Text=temp(6)
                t8.Text=temp(7)
                t9.Text=temp(8)
                
            Else
                messagebox.Show("字符串异常,无法自动录入.请重新输入(或手动录入)","提示")
            End If
    End Select
End If

在加一个问题  让文本框得到焦点是 全选


--  作者:Bin
--  发布时间:2013/4/17 15:44:00
--  
赋值不成功 先确认一下。有没进入到赋值代码段。你Temp(0)这些到底有没正常值。 
--  作者:zhoushijun
--  发布时间:2013/4/17 15:54:00
--  
值没有问题,赋完值后 值保存不到table表里 textbox控件绑定的是同一个表
--  作者:Bin
--  发布时间:2013/4/17 15:58:00
--  
你现在是赋值不成功,还是赋值成功了。但是无法同步到表中。
--  作者:zhoushijun
--  发布时间:2013/4/17 16:05:00
--  
很奇怪,有的赋值能成功,有的赋值不成功。我把赋值不成功的数组值打印出来,是有值的。这是个问题


我把焦点放到某个textbox控件上 突然好几个textbox控件上的值 就消失了,如果在已经赋值成功的控件上得到焦点后正常的话,那么这个字段值就同步到表上显示出来了。我要是一保存 全部消失 还保存不上。
[此贴子已经被作者于2013-4-17 16:07:52编辑过]

--  作者:Bin
--  发布时间:2013/4/17 16:08:00
--  
把文件发上来吧。方便大家给你解决
--  作者:zhoushijun
--  发布时间:2013/4/17 16:13:00
--  
发个图片 看看吧  点击自动录入后 把长文本框的值分开后 放到指定的控件上,柜员交易号 明明是有值的 就是赋不上去值
图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:zhoushijun
--  发布时间:2013/4/17 16:14:00
--  
探讨下 问题可能出在哪儿?


20130411 73123102790498 崔X拍品款 7312310192011380793 沈XX 转账  1,230,000.00 

需要分解的字符串


我最早 在自动录入控件里 加了如下代码

\'Dim wbl As WinForm.Table = e.Form.Controls("Table1")
\'Dim tbl As Table = wbl.Table
\'tbl.DataTable.Save()
[此贴子已经被作者于2013-4-17 16:32:52编辑过]

--  作者:FoxMan
--  发布时间:2013/4/17 17:23:00
--  
空格問題吧:7行空了

Dim tem As String = "20130411 73123102790498 崔X拍品款 7312310192011380793 沈XX 转账  1,230,000.00"
Dim temp() As String = tem.Split(" ")
For Each s1 As String In temp
   Output.Show(s1)
Next

20130411
73123102790498
崔X拍品款
7312310192011380793
沈XX
转账

1,230,000.00