Foxtable(狐表)用户栏目专家坐堂 → 窗口非关联表数据更新


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

主题:窗口非关联表数据更新

帅哥,在线噢!
冷泉
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:382 积分:3115 威望:0 精华:0 注册:2019/4/13 16:10:00
窗口非关联表数据更新  发帖心情 Post By:2019/8/3 20:36:00 [只看该作者]


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



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

窗体上的表是绑定的 进货单.进货明细表
我是通过用户界面进入,在商品窗口增加了商品保存后,在入库单窗体表格选择商品的时候,数据没有实时更新,是不是需要在窗口Aftelload事件里面添加了

商品表写了DataColChanged事件
Select Case e.DataCol.name
    Case "商品编号"
        Dim dr As DataRow = DataTables("进货明细表").Find("商品编号 = '" & e.OldValue & "'")
        If dr Is Nothing Then 
            dr = DataTables("进货明细表").AddNew()
            dr("商品编号") = e.DataRow("商品编号")
            dr("商品名称") = e.DataRow("商品名称")
            dr("规格") = e.DataRow("规格")
        Else
            dr("商品编号") = e.DataRow("商品编号")
        End If
    Case "商品名称","规格"
        Dim dr As DataRow = DataTables("进货明细表").Find("商品编号 = '" & e.DataRow("商品编号") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select


DataRowDeleting事件
Dim dr As DataRow = DataTables("进货明细表").Find("商品编号 = '" & e.DataRow("商品编号") & "'")
If dr IsNot Nothing Then
    dr.Delete()
End If
[此贴子已经被作者于2019/8/3 20:37:20编辑过]

 回到顶部
帅哥,在线噢!
冷泉
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:382 积分:3115 威望:0 精华:0 注册:2019/4/13 16:10:00
  发帖心情 Post By:2019/8/4 10:32:00 [只看该作者]

有老师指点下吗,退出了重新进,数据就会更新

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/4 20:59:00 [只看该作者]

没看懂。请上传实例测试

 回到顶部
帅哥,在线噢!
冷泉
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:382 积分:3115 威望:0 精华:0 注册:2019/4/13 16:10:00
  发帖心情 Post By:2019/8/5 14:43:00 [只看该作者]

老师,我是希望能达到2个目的
1、在进货单这个窗体里面,点击窗体里面的进货单.进货明细表的商品编号页面,也可以出现下拉窗口选择商品
2、通过商品信息窗体,实时增加或删除商品表的数据,在进货单这个窗体的关联表,点击商品编号的下拉窗口里面,也是可以实时更新商品数据

需要怎样写代码了,研究了2天还是不会,麻烦老师帮忙指点修改下,谢谢


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看


[此贴子已经被作者于2019/8/5 14:45:30编辑过]

 回到顶部
帅哥,在线噢!
冷泉
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:382 积分:3115 威望:0 精华:0 注册:2019/4/13 16:10:00
  发帖心情 Post By:2019/8/5 14:46:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学习.table


这个是附件
[此贴子已经被作者于2019/8/5 14:47:41编辑过]

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/5 15:48:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:abc.zip


 回到顶部
帅哥,在线噢!
冷泉
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:382 积分:3115 威望:0 精华:0 注册:2019/4/13 16:10:00
  发帖心情 Post By:2019/8/6 23:13:00 [只看该作者]

老师,能否多个表共用这个下拉弹窗,譬如入库单,出库单,退货单,都共用这个下拉弹窗,代码应该怎样写了

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/7 8:46:00 [只看该作者]

DropDownClosed事件改为

If e.Selected Then '如果选择了值
    Dim tbl As Table = Tables("窗口1_Table1")
    If tbl.Current IsNot Nothing Then
        e.Form.DropDownBox.Value = tbl.Current("商品编号")
        Dim t As Table = e.Form.DropTable
        If t IsNot Nothing Then
            t.Current("商品名称") = tbl.Current("商品名称")
            t.Current("单价") = tbl.Current("单价")
            t.Current("型号") = tbl.Current("型号")
            t.FinishEditing()
        Else '如果是通过窗口下拉的
            e.Form.DropDownBox.WriteValue()
        End If
    End If
End If

 回到顶部