Foxtable(狐表)用户栏目专家坐堂 → 目录树filter出错?


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

主题:目录树filter出错?

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/13 14:46:00 [显示全部帖子]

If filter > "" Then
    DataTables("机具订单").RemoveFor(filter)
    DataTables("机具订单").AppendLoad(filter)
    Tables("机具订单").Filter= Filter.Replace("'","#")
Else
    DataTables("机具订单").LoadFilter= Filter
    DataTables("机具订单").load()
    Tables("机具订单").Filter= Filter.Replace("'","#")
End If

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/13 15:34:00 [显示全部帖子]

你分别合成两个filter,因为后台语法和前台不同,后台日期用',前台日期用#.

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/13 15:37:00 [显示全部帖子]

或者在二楼代码的基础上改一下:

Dim filter As String
If e.Node.name = "所有考勤" Then
    filter = ""
Else
    
    Dim dr As DataRow = e.Node.DataRow
    Dim htmc As String = e.Node.DataRow("合同名称")
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
Dim dy As Date = new Date(Year ,1,1)
Dim dm As Date = new Date(Year ,Month ,1)
    Select Case e.Node.Level
        Case 0
            Filter ="合同名称 ='" & htmc & "'"
        Case 1
            Filter =" 考勤月份 >= #" & dy & "# and 考勤月份 < #" & dy.AddYears(1) & "# And 合同名称 = '" & htmc & "' "
        Case 2
            Filter ="考勤月份 >= #" & dm & "# and 考勤月份 < #" & dm.AddMonths(1) & "#  And 合同名称 ='" & htmc & "'"
    End Select
End If
DataTables("考勤").loadFilter = filter.Replace("#","'")
DataTables("考勤").load
Tables("考勤").Filter = filter
[此贴子已经被作者于2016/12/13 15:38:43编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/13 16:18:00 [显示全部帖子]

你的月份列是数字的还是日期的?
如果是日期列,上面的表达式没有错。
如果是数字的,肯定报错。
这是很简单的问题,不应该折腾这么久的,你做个例子发上来,或者联系客服远程看看。

 回到顶部