在共有窗口中有一个目录树,目录树打开的窗口是一个资料管理窗口
共有窗口的目录树AfterLoad
'项目资料目录树,如果再该资料表中在特需授权中有该用户的名字,则只显示该用户能够下载的资料
If User.Roles = "资料浏览" Then
Dim nm As String = User.Name
nm = "'%" & nm & "%'"
DataTables("项目资料表").LoadFilter = "特需授权 Like " & nm & " "
DataTables("项目资料表").Load()
End If
Dim trv As WinForm.TreeView = e.Form.Controls("项目资料")
trv.BuildTree("项目资料表", "资料类别一级")
trv.Nodes.Insert("显示所有资料",0)
TreeView 的NodeClick事件:
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("资料类别一级") & "'"
End Select
End If
Tables("项目资料表").Filter = Filter
如图,目录树加载后就只限制该用户授权查看的资料的目录了,第一次点击“UCG项目”没有错误,第二次以后就弹出错误提示,当点击下方的刷新按钮后,再次点击UCG项目这个节点就没有错误了。何解?
.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2017.6.12.1
错误所在事件:窗口,导航窗口,项目资料,NodeMouseClick
详细错误信息:
此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据
此主题相关图片如下:qq截图20170622113544.png