以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口非关联表数据更新 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=138715) |
||||
-- 作者:冷泉 -- 发布时间:2019/8/3 20:36:00 -- 窗口非关联表数据更新 此主题相关图片如下:222.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编辑过]
|
||||
-- 作者:冷泉 -- 发布时间:2019/8/4 10:32:00 -- 有老师指点下吗,退出了重新进,数据就会更新 |
||||
-- 作者:有点蓝 -- 发布时间:2019/8/4 20:59:00 -- 没看懂。请上传实例测试 |
||||
-- 作者:冷泉 -- 发布时间:2019/8/5 14:43:00 -- 老师,我是希望能达到2个目的 1、在进货单这个窗体里面,点击窗体里面的进货单.进货明细表的商品编号页面,也可以出现下拉窗口选择商品 2、通过商品信息窗体,实时增加或删除商品表的数据,在进货单这个窗体的关联表,点击商品编号的下拉窗口里面,也是可以实时更新商品数据 需要怎样写代码了,研究了2天还是不会,麻烦老师帮忙指点修改下,谢谢 [此贴子已经被作者于2019/8/5 14:45:30编辑过]
|
||||
-- 作者:冷泉 -- 发布时间:2019/8/5 14:46:00 -- 这个是附件
[此贴子已经被作者于2019/8/5 14:47:41编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/8/5 15:48:00 --
|
||||
-- 作者:冷泉 -- 发布时间:2019/8/6 23:13:00 -- 老师,能否多个表共用这个下拉弹窗,譬如入库单,出库单,退货单,都共用这个下拉弹窗,代码应该怎样写了 |
||||
-- 作者:有点蓝 -- 发布时间: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 |