以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 筛选树报错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=144845) |
|
-- 作者:lgz518 -- 发布时间:2019/12/31 14:14:00 -- 筛选树报错 报错: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2019.12.17.18 错误所在事件:窗口,产品BOM导入,TreeView1,NodeMouseDoubleClick 详细错误信息: 列“分类”不属于表 产品材料明细。 设计代码如下: Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.BuildTree("产品材料明细", "产品类别|主类|次类") trv.Nodes.Insert("显示所有行",0) Dim Filter As String Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行 If e.Node.Text <> "显示所有行" Then Select Case e.Node.Level Case 0 Filter = "[产品类别] = \'" & dr("产品类别") & "\'" Case 1 Filter = "[产品类别] = \'" & dr("产品类别") & "\' And [主类] = \'" & dr("主类") & "\'" Case 2 Filter = "[产品类别] = \'" & dr("产品类别") & "\' And [主类] = \'" & dr("主类") & "\' And [分类] = \'" & dr("分类") & "\'" End Select End If Tables("产品材料明细").Filter = Filter 1.如何处理报错? 2.产品类别,有"产品,材料”,上面代码显示是,“材料,产品”,如何想按自定按,“产品,材料"显示? |
|
-- 作者:有点蓝 -- 发布时间:2019/12/31 14:22:00 -- 1、没有“分类”这个列名:Filter = "[产品类别] = \'" & dr("产品类别") & "\' And [主类] = \'" & dr("主类") & "\' And [分类] = \'" & dr("分类") & "\'" 2、没看懂,截图说明一下
|
|
-- 作者:lgz518 -- 发布时间:2019/12/31 14:52:00 -- 找到问题,解决了,谢谢 |
|
-- 作者:lgz518 -- 发布时间:2019/12/31 16:59:00 -- 表的类型,Normal,改为副表时,筛选是狐表的表,不是窗口上的表,我要筛选窗口上的表,要如何做? |
|
-- 作者:有点蓝 -- 发布时间:2019/12/31 17:10:00 -- 看看:http://www.foxtable.com/webhelp/topics/1906.htm |
|
-- 作者:lgz518 -- 发布时间:2020/1/2 15:07:00 --
Tables("产品材料明细").Filter = Filter 改为 Tables("产品B_产品材料明细").Filter = Filter 2.在表属性,放下面代码,想实现主表和明细表及其他都能调用,材料明细,但就是实现一个,有时,主表或明细,如何二个表或多个表引用? --------------------有问题--------------------------------------- Dim t As Table = e.Form.Controls("材料明细").Table For k As Integer = t.TopRow To t.BottomRow Dim r As Row = t.Rows(k) If r("选中") = True Then Dim nma() As String = {"产品编号","品名","规格","主类","材质","产品图示","进价"} Dim nmb() As String = {"物料号","材料名称","材料规格","部件","材质","材料图示","进价"} Dim dr As Row = Tables("B.M").AddNew For i As Integer = 0 To nma.Length - 1 dr(nmb(i)) = r(nma(i)) Next End If Next Dim f As Table = e.Form.Controls("材料明细").Table For d As Integer = t.TopRow To t.BottomRow Dim r As Row = t.Rows(d) If r("选中") = True Then Dim nme() As String = {"产品编号","品名","规格","单位","版次"} Dim nmd() As String = {"产品编号","产品名称","规格","单位","版次"} Dim dr As Row = Tables("B").AddNew For i As Integer = 0 To nme.Length - 1 dr(nmd(i)) = r(nme(i)) Next End If Next |
|
-- 作者:有点蓝 -- 发布时间:2020/1/2 15:22:00 -- 一次只能操作一个表 |
|
-- 作者:lgz518 -- 发布时间:2020/1/2 15:26:00 -- 1.
Tables("产品材料明细").Filter = Filter 改为 Tables("产品B_产品材料明细").Filter = Filter |
|
-- 作者:lgz518 -- 发布时间:2020/1/2 15:29:00 -- Normal,改为副表时,不能筛选(目录树)?如果可以代码怎么改? |
|
-- 作者:有点蓝 -- 发布时间:2020/1/2 15:36:00 -- 肯定可以。搞不定就上传实例 |