Foxtable(狐表)用户栏目专家坐堂 → [求助]关于窗口更新某个表的问题


  共有3059人关注过本帖树形打印复制链接

主题:[求助]关于窗口更新某个表的问题

帅哥哟,离线,有人找我吗?
as2517
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1125 威望:0 精华:0 注册:2014/12/13 8:54:00
[求助]关于窗口更新某个表的问题  发帖心情 Post By:2015/1/13 17:48:00 [只看该作者]

新添加销售单 图片红杠位置不自动跟新,红杠位置3个显示框是引用产品客户表里内容。

Dim dr As DataRow = DataTables("产品客户表").Find("客户姓名 = '" & e.Sender.value & "'")
If dr IsNot Nothing Then '如果找到的话
    e.Form.Controls("TextBox2").Value = dr("销售总额") & "元"
    e.Form.Controls("TextBox4").Value = dr("已收款") & "元"
    e.Form.Controls("TextBox3").Value = dr("欠款额") & "元"
End If

 产品客户表里的内容是通过这段代码引用的
Select Case e.DataCol.Name
    Case "客户姓名"
      Dim Filter As String = "客户姓名 = '" & e.DataRow("客户姓名") & "'"
    e.DataRow("销售总额") = DataTables("产品销售表").Compute("Sum(实收金额)", Filter)
    e.DataRow("已收款") = DataTables("资金流水").Compute("Sum(收入金额)", Filter)
End Select
然后再MainTableChanged用了下面的代码
If MainTable.Name = "产品客户表" Then
    DataTables("产品客户表").DataCols("客户姓名").RaiseDataColChanged()
End If

我在窗口新增销售单以后它不自动更新,必须回到产品客户表切换一下才可以,希望老师帮忙给解决,不需要回到产品客户表切换,就能自动更新。或是我添加新单以后,让产品客户表自动在后台更新。谢谢
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150113173516.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2015-1-13 17:51:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/13 17:54:00 [只看该作者]

1、在明细表的DataCochanged事件加入代码 DataTables("产品客户表").DataCols("客户姓名").RaiseDataColChanged()

 

2、如果控件么有绑定表列,DataCochanged可以直接写

 

Dim dr As DataRow = DataTables("产品客户表").Find("客户姓名 = '" & e.Sender.value & "'")

If dr IsNot Nothing Then '如果找到的话
    Forms("窗口1").Controls("TextBox2").Value = dr("销售总额") & "元"
    Forms("窗口1").Controls("TextBox4").Value = dr("已收款") & "元"
    Forms("窗口1").Controls("TextBox3").Value = dr("欠款额") & "元"
End If

 回到顶部
帅哥哟,离线,有人找我吗?
as2517
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1125 威望:0 精华:0 注册:2014/12/13 8:54:00
  发帖心情 Post By:2015/1/13 18:16:00 [只看该作者]

谢谢甜老师,还有一个问题,我用了这段代码,删除选中的复选框内容。它会弹出提示,选中一个删除没事。选中多个删除的话,这个确认框会弹出好多个。我想选中多个点删除,这个提示框只出现一下。谢谢老师了
Dim rs As List(of Row) = Tables("产品销售表").GetCheckedRows()
For Each r As Row In rs
    Dim Result As DialogResult
    Result = MessageBox.Show("数据删除后不可恢复,确定要删除吗?", "提示", _
    MessageBoxButtons.OkCancel, MessageBoxIcon.Question)
    If Result = DialogResult.Ok Then
       r.Delete
End If
    Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/13 19:18:00 [只看该作者]

Dim rs As List(of Row) = Tables("产品销售表").GetCheckedRows()
Dim Result As DialogResult
Result = MessageBox.Show("数据删除后不可恢复,确定要删除吗?", "提示", _
MessageBoxButtons.OkCancel, MessageBoxIcon.Question)
If Result = DialogResult.Ok Then
    For Each r As Row In rs
        r.Delete
    Next
End If

 回到顶部