Foxtable(狐表)用户栏目专家坐堂 → 自定义加载树,错误提示!!


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

主题:自定义加载树,错误提示!!

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


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
自定义加载树,错误提示!!  发帖心情 Post By:2014/6/18 13:44:00 [只看该作者]

.NET Framework 版本:2.0.50727.5477
Foxtable 版本:2014.5.12.1
错误所在事件:加载[生产派单]失败!
详细错误信息:
列名 'False' 无效。

 

代码如下:

Dim Filter As String

If e.Node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
    Dim pname As String = dr("派单完成")
    Dim Year As Integer = dr("年")
    Dim Month As Integer = dr("月")
    Select Case e.Node.Level
        Case 0          
            Filter ="[派单完成] = " & dr("派单完成") & ""
        Case 1
            Filter ="Year(日期) = " & Year
        Case 2
            Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month  
    End Select
End If

With DataTables("生产派单")
    .LoadFilter = Filter
    .LoadPage = 0
    .LoadTop = 10
    .Load()
    e.Form.Controls("TextBox1").Value = 1 & "/" & .TotalPages
End With



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


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

Dim Filter As String

If e.Node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
    Dim pname As String = dr("派单完成")
    Dim Year As Integer = dr("年")
    Dim Month As Integer = dr("月")
    Select Case e.Node.Level
        Case 0
            If dr.IsNull("派单完成") = False Then
                Filter ="[派单完成] = " & dr("派单完成") & ""
            End If
        Case 1
            Filter ="Year(日期) = " & Year
        Case 2
            Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month
    End Select
End If

With DataTables("生产派单")
    .LoadFilter = Filter
    .LoadPage = 0
    .LoadTop = 10
    .Load()
    e.Form.Controls("TextBox1").Value = 1 & "/" & .TotalPages
End With

 


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/18 14:03:00 [只看该作者]

弹出一下Filter 看看拼接结果是什么.

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


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

 如果是sqlserver数据源,可能要这样改。

 

Dim Filter As String

If e.Node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
    Dim pname As String = dr("派单完成")
    Dim Year As Integer = dr("年")
    Dim Month As Integer = dr("月")
    Select Case e.Node.Level
        Case 0
            Filter ="[派单完成] = " & iif(dr("派单完成") = False, 0, 1)
        Case 1
            Filter ="Year(日期) = " & Year
        Case 2
            Filter ="Year(日期) = " & Year & " And Month(日期) = " & Month
    End Select
End If

With DataTables("生产派单")
    .LoadFilter = Filter
    .LoadPage = 0
    .LoadTop = 10
    .Load()
    e.Form.Controls("TextBox1").Value = 1 & "/" & .TotalPages
End With

 

 


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


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
  发帖心情 Post By:2014/6/18 15:09:00 [只看该作者]

可以使用了,甜老师,我上面的代码在原来的系统是可以使用的,原来是Access数据库。

为什么换成SQL数据库后,代码就出错了呢?


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


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

sqlserver的逻辑列,不能用false和true,要用0和1

 回到顶部