以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51739)

--  作者:shanmao
--  发布时间:2014/6/2 15:10:00
--  动态显示
我想收入表窗口_Table1 中金额列在收支统计_Table1中的收入金额列显示出来,并且能够随着收入表窗口_Table1的改变而改变。
但是下面这个代码实现不了,除非把 pdr = DataTables("收入表窗口_Table1").find("del = 1 and 银行卡号= " & tr("卡号"))改成
 pdr = DataTables("收入表").find("del = 1 and 银行卡号= " & tr("卡号"))就能够显示。但是并不是动态。不能够随着收入表窗口_Table1改变而改变。怎么做才能让它动态显示呢?

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140602150047.png
图片点击可在新窗口打开查看

DataTables("收支统计_table1").DataCols.Add("收入金额",Gettype(String))
DataTables("收支统计_table1").DataCols.Add("支出金额",Gettype(String))
DataTables("收支统计_table1").DataCols.Add("盈余金额",Gettype(String))
DataTables("收支统计_table1").LoadFilter = "del = 1"
DataTables("收支统计_table1").Load

Dim pdr As DataRow
Dim tr As Row
For Each tr In Tables("收支统计_Table1").Rows
    pdr = DataTables("收入表窗口_Table1").find("del = 1 and 银行卡号= " & tr("卡号"))
    If pdr IsNot Nothing Then
        tr("收入金额") = pdr("金额")
    End If
Next

--  作者:狐狸爸爸
--  发布时间:2014/6/3 10:03:00
--  

你这个只是一次性的,动态显示,你要在DataColChanged事件写代码的。

 

"收入表窗口_Table1"的Datacolchanged事件:

 

if e.col.name = "金额" then

   dim dr as datarow = DataTables("收支统计_table1").Find("del = 1 and 银行卡号= " & e.datarow("卡号") & "\'")

   if dr isnot nothing then

       dr("金额") = e.datarow("金额")

   end if

end if