以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口控件计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5607)

--  作者:实话实说
--  发布时间:2009/12/23 11:06:00
--  窗口控件计算
求助表A窗口结果列计算
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:mr725
--  发布时间:2009/12/23 11:49:00
--  
控件的leave事件:::::::
if IsNumeric(e.Form.Controls("TextBox1").text) = false Then
    MsgBox ("请输入数字!!!")
    e.Form.Controls("TextBox1").value=""
    e.Form.Controls("TextBox1").Select()
else
    currenttable.current("结果") = currenttable.current("第一列") +currenttable.current("第二列") + e.Form.Controls("TextBox1").text
End If
[此贴子已经被作者于2009-12-23 13:30:51编辑过]

--  作者:wqc360
--  发布时间:2009/12/23 12:54:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:未命名.bmp
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2009/12/23 13:17:00
--  
人家笔误,将CurrentTable写错了而已,漏掉了字母b
错误提示如此清晰,错在哪一行也告诉你了,居然还看不出来。
[此贴子已经被作者于2009-12-23 13:17:54编辑过]

--  作者:实话实说
--  发布时间:2009/12/23 13:46:00
--  
这只是对当前行有效,我想在文本框输入数据后一次得到结果。比如输入了10行数据,在文本框输入数据后结果立即更新,输入第11行第1列和第2列数据后,结果自动得出(表达式效果)
--  作者:czy
--  发布时间:2009/12/23 14:22:00
--  
Dim Val As Integer = e.Form.Controls("TextBox1").Value
if IsNumeric(Val)  Then
    For Each dr As DataRow In DataTables("表A").DataRows
        if dr.IsNull("第一列") OrElse dr.IsNull("第一列") Then
            dr("结果") = Nothing
        Else
            dr("结果") = dr("第一列") + dr("第二列") * Val
        End If
    Next
Else
    MessageBox.Show("确定","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
    e.Form.Controls("TextBox1").Select()
End If

--  作者:实话实说
--  发布时间:2009/12/23 14:42:00
--  
这段代码写在哪里?我现在做在一个按钮上是可以运行,但我的需求是:1、文本框的参数一直保存(即使重新打开项目)直到被修改;2、在第1列或第2列输入数据后及时更新,不需要按钮命令,就象表达式效果。
--  作者:czy
--  发布时间:2009/12/23 16:09:00
--  
提问怎么象在挤牙膏。
--  作者:mr725
--  发布时间:2009/12/23 16:26:00
--  

修改控件textbox时,需要在控件textbox的相关事件(如:leave事件)中设置;
第1列或第2列输入数据后及时更新时, 应该在表的DataColChanged事件中设置.


--  作者:实话实说
--  发布时间:2009/12/23 16:55:00
--  
以下是引用czy在2009-12-23 16:09:00的发言:
提问怎么象在挤牙膏。

不好意思。我提问的思路是,先提出基本要求,满足后提出进一步要求,我怕一开始提出较高要求表达不明确。