以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联表在筛选状态下,新增行看不到,请教!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92916)

--  作者:zhy400137
--  发布时间:2016/11/16 13:46:00
--  关联表在筛选状态下,新增行看不到,请教!
左边目录树代码:
Dim Filter As String
If e.node.Text = "显示所有数据" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
    Select Case e.Node.Level
        Case 0
            Filter ="[年] = \'" & dr("年") & "\'"
        Case 1
            Filter ="[年] = \'" & dr("年") & "\' And [月] = \'" & dr("月") & "\'"
    End Select
End If
Tables("工商户清单.开票清单").Filter = Filter

新增行代码:
Dim dr As Row = Tables("开票清单_Table1").Current
If dr.DataRow.RowState = DataRowState.Added Then
    MessageBox.show("请先保存上方工商户清单的对应行后再增加开票清单记录,谢谢!","提示")
Else
    Tables("工商户清单.开票清单").AddNew
End If

问题:因为工商户清单.开票清单数据行较多,希望先点击筛选出年,再新增行,但是新增的行
在窗口的TABLE中看不到,非要在显示所有数据状态下再可以,请教,谢谢!

--  作者:zhy400137
--  发布时间:2016/11/16 13:49:00
--  
非关联表测试了下,是可以在筛选状态下新增的……
--  作者:zhy400137
--  发布时间:2016/11/16 14:22:00
--  
顶!
--  作者:有点蓝
--  发布时间:2016/11/16 14:46:00
--  
......
Tables("工商户清单.开票清单").Filter = Filter
Dim max As Integer = Tables("工商户清单.开票清单").Compute("max([_Identify])")
Tables("工商户清单.开票清单").Filter = Filter & " or [_Identify] > " & max

--  作者:zhy400137
--  发布时间:2016/11/16 15:10:00
--  
按老师要求,变通了,好像可以了,谢谢,再测试下!
--  作者:zhy400137
--  发布时间:2016/11/17 14:44:00
--  
认真测试后,还是发现问题,这样加后,筛选出现问题了,会筛选出不是选择月分的数据!请老师,再看看,
另外下个版本能增加这个功能不?谢谢

--  作者:zhy400137
--  发布时间:2016/11/17 14:53:00
--  
不用了,搞定了!
--  作者:zhy400137
--  发布时间:2016/11/17 14:53:00
--  
当然,狐表本身支持是最好的!
--  作者:有点蓝
--  发布时间:2016/11/17 16:50:00
--  
这是合理的,既然筛选了,不过是不是新增的行,没有符合条件的数据自然就不显示。4楼的方式本身就破坏了筛选的原意,值适合特定的情况使用