Foxtable(狐表)用户栏目专家坐堂 → 新增行默认筛选树列,如何做?


  共有1540人关注过本帖树形打印复制链接

主题:新增行默认筛选树列,如何做?

帅哥哟,离线,有人找我吗?
chengjingliang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:250 积分:1813 威望:0 精华:0 注册:2012/6/28 13:53:00
新增行默认筛选树列,如何做?  发帖心情 Post By:2017/10/10 15:32:00 [只看该作者]

筛选后发现没有需要的行,新增行默认筛选树列,如何设置?或编写代码?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/10 15:56:00 [只看该作者]

 上传具体实例说明。


 回到顶部
帅哥哟,离线,有人找我吗?
chengjingliang
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:250 积分:1813 威望:0 精华:0 注册:2012/6/28 13:53:00
  发帖心情 Post By:2017/10/10 16:43:00 [只看该作者]

  • 工料单价表内,筛选树:商丘市虞城县产业聚集区——材料——基本材料,工料单价表:新增行,项目ID是空白,希望默认项目ID与筛选树所在的项目ID相同


图片点击可在新窗口打开查看此主题相关图片如下:1507624415(1).png
图片点击可在新窗口打开查看


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成本测算170811-3.rar


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/10 17:05:00 [只看该作者]

DataRowAdded事件

 

For Each a As OBJECT In Tables("工料单价").grid.Parent.controls
    For Each b As OBJECT In a.controls
        If B.text = "筛选树" Then
            Dim tr = b.controls(0).controls(0)
            If tr.selectednode IsNot Nothing AndAlso tr.selectednode.text <> "显示所有行" Then
                Dim ary1() As String = "项目名称|工料一类|工料二类|工料名称".split("|")
                Dim ary2() As String = tr.selectednode.fullpath.split("\")
                For i As Integer = 0 To ary2.length-1
                    If e.DataTable.DataCols(ary1(i)).Expression = "" Then
                        e.DataRow(ary1(i)) = ary2(i)
                    End If
                Next
                Dim fdr As DataRow = DataTables("工程项目").find("项目名称 = '" & ary2(0) & "'")
                If fdr IsNot Nothing
                    e.DataRow("项目id") = fdr("项目id")
                End If
            End If
        End If
    Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
chengjingliang
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:250 积分:1813 威望:0 精华:0 注册:2012/6/28 13:53:00
  发帖心情 Post By:2017/10/10 18:21:00 [只看该作者]

我修改了一下,想在清单表内实现筛选树下新增行,不能默认筛选树的项目ID,问题出在哪了?

For Each a As OBJECT In Tables("清单").grid.Parent.controls
    For Each b As OBJECT In a.controls
        If B.text = "筛选树" Then

            Dim tr = b.controls(0).controls(0)
            If tr.selectednode IsNot Nothing AndAlso tr.selectednode.text <> "显示所有行" Then

                Dim ary1() As String = "项目名称|单位工程|清单名称".split("|")
                Dim ary2() As String = tr.selectednode.fullpath.split("\")

                For i As Integer = 0 To ary2.length-1
                    If e.DataTable.DataCols(ary1(i)).Expression = "" Then
                        e.DataRow(ary1(i)) = ary2(i)
                    End If
                Next
                Dim fdr As DataRow = DataTables("工程项目").find("项目名称='" & ary2(0) & "'")

                If fdr IsNot Nothing
                    e.DataRow("项目id") = fdr("项目id")

                End If
            End If
        End If
    Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/10 18:45:00 [只看该作者]

写到DataRowAdding事件。

 回到顶部