以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 副本表筛选情况下的自定义录入窗口问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=174025) |
||||
-- 作者:z769036165 -- 发布时间:2021/12/27 20:32:00 -- 副本表筛选情况下的自定义录入窗口问题 http://www.foxtable.com/webhelp/topics/2465.htm 这有个窗口表A,设置为副本表,表因为内容多设置了筛选,如 "其他列1 = \'A\'",同时存在这个自定义录入窗口DropDownForm的功能, 但是目前这段代码中 If e.Selected Then \'如果选择了值 Dim tbl As Table = Tables("窗口1_Table1") If tbl.Current IsNot Nothing Then e.Form.DropDownBox.Value = tbl.Current("客户ID") Tables("订单").Current("其它列1") = tbl.Current("其它列1") Tables("订单").Current("其它列2") = tbl.Current("其它列2") Tables("订单").Current("其它列3") = tbl.Current("其它列3") If e.Form.DropTable IsNot Nothing Then \'如果是通过表下拉的 e.Form.DropTable.FinishEditing() Else \'如果是通过窗口下拉的 e.Form.DropDownBox.WriteValue() End If End If End If 采用的是Tables("订单").Current,选中行,但如果是副本表,Tables("订单_table1").Current("其它列1") = "B" 进行了筛选列的修改,则会自动进行筛选,导致之前选择的行的内容会错位更新到筛选后的行 If e.Selected Then \'如果选择了值 Dim tbl As Table = Tables("窗口1_Table1") If tbl.Current IsNot Nothing Then Dim w as datarow = datatable("订单").find("_Identify = \'" & Tables("订单_table1").Current("_Identify") & "\'") if w isnot nothing then w("客户ID") = tbl.Current("客户ID") w("其它列1") = tbl.Current("其它列1") w("其它列2") = tbl.Current("其它列2") w("其它列3") = tbl.Current("其它列3") end if If e.Form.DropTable IsNot Nothing Then \'如果是通过表下拉的 e.Form.DropTable.FinishEditing() Else \'如果是通过窗口下拉的 e.Form.DropDownBox.WriteValue() End If End If End If 我改成这样还是错误,这个在不改变副本表属性的情况下如何改?
|
||||
-- 作者:有点蓝 -- 发布时间:2021/12/27 20:54:00 -- If e.Selected Then \'如果选择了值 Dim tbl As Table = Tables("窗口1_Table1") If tbl.Current IsNot Nothing Then e.Form.DropDownBox.Value = tbl.Current("客户ID") dim r as row = Tables("订单_table1").Current
r("其它列1") = tbl.Current("其它列1") r("其它列2") = tbl.Current("其它列2") r("其它列3") = tbl.Current("其它列3") If e.Form.DropTable IsNot Nothing Then \'如果是通过表下拉的 e.Form.DropTable.FinishEditing() Else \'如果是通过窗口下拉的 e.Form.DropDownBox.WriteValue() End If End If End If |
||||
-- 作者:z769036165 -- 发布时间:2021/12/27 21:09:00 -- 不行啊,这个我有筛选的值修改后,这个Tables("订单_table1").Current就不是原来的,实际修改了2行了 |
||||
-- 作者:有点蓝 -- 发布时间:2021/12/27 21:15:00 -- 不可能的,3楼代码不可能会改2行 |
||||
-- 作者:z769036165 -- 发布时间:2021/12/28 9:29:00 --
我做了个测试的,用这个也是修改了2行
|
||||
-- 作者:有点蓝 -- 发布时间:2021/12/28 9:58:00 -- 输入焦点的问题,调换一下代码位置即可
|
||||
-- 作者:z769036165 -- 发布时间:2021/12/28 10:51:00 -- 可以了,非常感谢! |