以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于副表中增加筛选后不显示增加行的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=82345)

--  作者:5159518
--  发布时间:2016/3/16 11:26:00
--  [求助]关于副表中增加筛选后不显示增加行的问题
窗口中各有表“table2”,设为副表,在事件中设置增加行代码,却无法显示,代码如下:

Dim wbl As String = e.Form.Controls("Table2").Table.name
Dim bh As WinForm.TextBox = e.Form.Controls("TextBox4") 

Tables(wbl).Filter = "[" & bhm & "] = \'bh\'"
\'当行数为0时自动增加一行
If Tables(wbl).Rows.Count = 0
    Tables(wbl).AddNew()
End If
\'自动添加已经勾选申请采购的器件
With Tables("采购申请")
    Dim qnm As String() = {"申请编号","类别_大类","类别_小类","规格型号","封装_类型","封装_引脚","器件编号"}
    .Filter = "[采购下单] = True And [同意采购] = true"
    For r As Integer = 0 To .Rows.count - 1
        If Tables(wbl).Rows.count < .Rows.count
            Tables(wbl).AddNew()
        End If
        MessageBox.Show(Tables(wbl).Rows.count)        
        \'        For Each cnm As String In qnm
        \'            Tables(wbl).Rows(r)(cnm) = .Rows(r)(cnm)
        \'        Next
    Next
    .Filter = ""
End With


请教老师,我这代码需要怎么修改才能有效呢?

--  作者:狐狸爸爸
--  发布时间:2016/3/16 11:29:00
--  

因为你设置了筛选条件:

 

Tables(wbl).Filter = "[" & bhm & "] = \'bh\'"

 

而新增行bhm为空,不符合条件,自然不显示。

 

这样改:

 

Dim r as row = Tables(wbl).AddNew()

r("bhm") = "bh"


--  作者:5159518
--  发布时间:2016/3/16 12:31:00
--  
谢谢狐爸,修改好了