以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  缺少运算符  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100490)

--  作者:seal51
--  发布时间:2017/5/12 11:21:00
--  缺少运算符

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("执行人员") & "\' and 已结束 = False"
    End Select
End If
Tables("工作计划").Filter = "(" & Filter & ") and 已结束 = False"

 

[此贴子已经被作者于2017/5/12 11:24:49编辑过]

--  作者:有点色
--  发布时间:2017/5/12 11:36:00
--  

Dim Filter As String = "1=1"
Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行
If e.Node.Text <> "显示所有工作列表"Then
    Select Case e.Node.Level
        Case 0
            Filter = "[执行人员] = \'" & dr("执行人员") & "\' and 已结束 = False"
    End Select
End If

Tables("工作计划").Filter = "(" & Filter & ") and 已结束 = False"


--  作者:seal51
--  发布时间:2017/5/12 14:36:00
--  

执行同步后DataTables("工作计划").Load

双击节点, 出现错误:

 

此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据

[此贴子已经被作者于2017/5/12 14:38:06编辑过]

--  作者:有点色
--  发布时间:2017/5/12 14:50:00
--  

 双击节点事件,不能用 e.Node.DataRow 改成 e.Node.FullPath

 

http://www.foxtable.com/webhelp/scr/2690.htm

 


--  作者:seal51
--  发布时间:2017/5/12 15:10:00
--  

为什么会发生这个错误呢, 其他筛选树没有出现这种情况


--  作者:有点色
--  发布时间:2017/5/12 15:11:00
--  
以下是引用seal51在2017/5/12 15:10:00的发言:

为什么会发生这个错误呢, 其他筛选树没有出现这种情况

 

如果你目录树根据此表生成,你重新加载此表,datarow就会失效。


--  作者:seal51
--  发布时间:2017/5/12 15:26:00
--  

谢谢老师!更改成下列代码, OK!

 

Dim Filter As String = "1=1"
Dim  Value() As   String
Value =  e.Node.FullPath.Split("\\")
If  e.Node.Text <>  "显示所有工作列表" Then
    Select Case  e.Node.Level
        Case  0
            Filter = "[执行人员] = \'" & Value(0) & "\' and 已结束 = False"
    End Select
End If
Tables("工作计划").Filter = "(" & Filter & ") and 已结束 = False"