以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]文本框仍然保持原来的值  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=75918)

--  作者:huhu
--  发布时间:2015/10/17 17:07:00
--  [求助]文本框仍然保持原来的值
定义了3个文本框,各绑定到了指定的列。当我点击msgbox的“否”时,希望文本框仍然保持之前输入的值,该怎么实现呢?
Dim lsbbbh As WinForm.ComboBox = e.Form.Controls("请选择或输入临时版本编号")
Dim ddbh As WinForm.TextBox = e.Form.Controls("请输入订单编号")
Dim cphbh As WinForm.TextBox = e.Form.Controls("请输入产品化编号")
Dim r As Row = Tables("临时版本跟踪表").Current
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Str1 = Tables("临时版本跟踪表").Current("订单编号")

Str2 = Tables("临时版本跟踪表").Current("临时版本编号")

Str3 = Tables("临时版本跟踪表").Current("产品化编号")
If str1 <> "" And str2 <> "" And str3 <> "" Then
    If (MessageBox.show("订单编号:" & str1 & "与临时版本编号:" & str2 & "+" & "产品化编号:" & str3 & "确定要绑定?","商务妹子请绑定时请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.OK) Then
        r("绑锁解绑") = "绑定"
    Else
        r("产品化编号") = ""
        r("订单编号") = ""
        r("绑锁解绑") = ""
        lsbbbh.Text = r("临时版本编号")
        ddbh.text =
        cphbh.text =        
    End If
End If

--  作者:huhu
--  发布时间:2015/10/17 17:44:00
--  
换了一种思路。发现点击“否”时,发现ddbh.text和cphbh.text维持原来的值,且数据表的r("产品化编号") 和r("订单编号")的值都为空了。
问题是当我再次点击绑定按钮时,发现ddbh.text和cphbh.text同样自动清空了。这个问题该如何解决?
绑定代码:
Dim lsbbbh As WinForm.ComboBox = e.Form.Controls("请选择或输入临时版本编号")
Dim ddbh As WinForm.TextBox = e.Form.Controls("请输入订单编号")
Dim cphbh As WinForm.TextBox = e.Form.Controls("请输入产品化编号")
Dim r As Row = Tables("临时版本跟踪表").Current
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Str1 = ddbh.text

Str2 = lsbbbh.text

Str3 = cphbh.text
If str1 <> "" And str2 <> "" And str3 <> "" Then
    If (MessageBox.show("订单编号:" & str1 & "与临时版本编号:" & str2 & "+" & "产品化编号:" & str3 & "确定要绑定?","商务妹子请绑定时请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.OK) Then
        r("绑锁解绑") = "绑定"
    Else
        r("产品化编号") = ""
        r("订单编号") = ""
        r("绑锁解绑") = ""
        lsbbbh.Text = r("临时版本编号")
        ddbh.text = str1
        cphbh.text = str3        
    End If
end if

--  作者:Hyphen
--  发布时间:2015/10/17 17:46:00
--  
ddbh.Undo() 或者另外用全局变量保存之前的值
--  作者:huhu
--  发布时间:2015/10/17 18:00:00
--  
undo不是撤销文本框最近的一次操作吗?我是需要保持最近一次的值。
--  作者:Hyphen
--  发布时间:2015/10/17 18:02:00
--  
不要用绑定方式,直接赋值
--  作者:huhu
--  发布时间:2015/10/17 18:14:00
--  
如果不绑定,好像没有赋值成功。
Dim lsbbbh As WinForm.ComboBox = e.Form.Controls("请选择或输入临时版本编号")
Dim ddbh As WinForm.TextBox = e.Form.Controls("请输入订单编号")
Dim cphbh As WinForm.TextBox = e.Form.Controls("请输入产品化编号")
Dim r As Row = Tables("临时版本跟踪表").Current
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Str1 = ddbh.text

Str2 = lsbbbh.text

Str3 = cphbh.text
If str1 <> "" And str2 <> "" And str3 <> "" Then
    If (MessageBox.show("订单编号:" & str1 & "与临时版本编号:" & str2 & "+" & "产品化编号:" & str3 & "确定要绑定?","商务妹子请绑定时请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.OK) Then
        r("绑锁解绑") = "绑定"
        r("订单编号") =str1
        r("产品化编号") = str2        
    Else
        r("产品化编号") = ""
        r("订单编号") = ""
        r("绑锁解绑") = ""
        lsbbbh.Text = r("临时版本编号")        
    End If
endif

--  作者:大红袍
--  发布时间:2015/10/18 12:00:00
--  

汗,你不置空值,就是原先输入的值啊。


--  作者:huhu
--  发布时间:2015/10/18 14:11:00
--  
不是,是这样。
我点击否,表的数据清空了,文本框的数据仍然有,可是啥也没改,然后再次点击绑定按钮,文本框数据清空了。我是希望再次点击绑定时,文本框数据不清空,可以再次写入到表里面。

--  作者:大红袍
--  发布时间:2015/10/18 14:21:00
--  

做个小例子发上来。不要上传你的整个项目。


--  作者:huhu
--  发布时间:2015/10/18 16:01:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb