Foxtable(狐表)用户栏目专家坐堂 → 出现“此行已从表中移除并且没有任何数据”错误提示


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

主题:出现“此行已从表中移除并且没有任何数据”错误提示

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


加好友 发短信
等级:五尾狐 帖子:1018 积分:7150 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/3/20 14:29:00 [只看该作者]

谢谢你们,这个问题现在解决了,原来这个表的标识列设计有错误。

 回到顶部
帅哥哟,离线,有人找我吗?
花开的声音
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/1/22 10:32:00 [只看该作者]

呵呵,老师们也帮我看下这个问题。分页加载前点选目录树的复选框筛选正常,但在窗体的登录事件中加了分页加载的代码后,点选目录树的复选框就会出现楼主同样的错误提示,点目录树最上边的“全部”复选框筛选是正常的。

 

窗口登录的代码如下:

'-------------加载目录树-------------
Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim dt As DataTable
Dim s As String
Dim flt As String
dt = DataTables("基层法律服务机构信息表")
tv.BuildTree(dt,"主管司法局|法律服务所","","序号")
If tv.Nodes.Count > 0 Then
    tv.Nodes.Insert("全部","全部(" & dt.Compute("Count(法律服务所)") & "个)",0)
End If
For Each nd As WinForm.TreeNode In tv.AllNodes
    's = e.Form.Controls("维护内容").Text
    If nd.Name <> "全部" Then
        Select Case nd.Level
            Case 0
                nd.Text = nd.text & "(" & dt.Compute("Count(法律服务所)","主管司法局 = '" & nd.DataRow("主管司法局") & "'") & "个)"
                ' Case 1
                'nd.Text = nd.text & "(" & dt.Compute("Sum(订单数)","年 = " & Year & " And 月 = " & Month) & "条)"
                'nd.Text = nd.text & "(" & dt.(count(法律服务所)"," nd.DataRow("主管司法局") = nd.ParentNode.Name And nd.DataRow("法律服务所")=nd.Name") & "条)"
        End Select
       
        If nd.Name = nd.DataRow("法律服务所") Then
            nd.Text = nd.Name
        End If
    End If
Next


'----------------------分页加载------------------

With DataTables("基层法律服务机构信息表")
    .LoadFilter = "" '清除加载条件
    .LoadPage = 0 '加载第一页
    .LoadTop = 5 '每页5行
    .Load()
    e.Form.Controls("TextBox3").Value = 1 & "/" & .TotalPages
End With

目录树节点的AfterCheckNode事件的代码如下:

 

 

Dim trv As WinForm.TreeView = e.Sender
Dim flt As String
Dim nd As WinForm.TreeNode
Dim pd As WinForm.TreeNode
Dim notchecked As Integer
Dim t As Table
t = Tables("基层法律服务机构信息表")
If e.Node.Name = "全部"  Then
    If e.Node.Checked = True Then
        For Each nd In trv.AllNodes
            If nd.Name <> "全部"  Then
                nd.Checked = False
            End If
        Next
        t.Filter = ""
    Else
        For Each nd In trv.AllNodes
            nd.Checked = False
        Next
        t.Filter = (1 = 2)
    End If
    trv.CollapseAll
    Return
Else
    trv.AllNodes(0).Checked = False
End If
For Each nd In e.node.allNodes
    nd.Checked = False
Next
pd = e.Node.ParentNode
Do While pd IsNot Nothing
    pd.Checked = False
    pd = pd.ParentNode
Loop
For Each nd In trv.AllNodes
    If nd.Checked  Then
        Dim vals As String = ""
        If vals > "" Then
            vals = vals & " And "
            Select Case e.Node.Level
                Case 0
                    vals &= "主管司法局= '" & nd.DataRow("主管司法局") & "'"
                Case 1
                    vals &= "主管司法局='" & nd.DataRow("主管司法局") & "' and  法律服务所= '" & nd.DataRow("法律服务所") & "'"
            End Select
        Else
            vals=vals
            Select Case e.Node.Level
                Case 0
                    vals &= "主管司法局= '" & nd.DataRow("主管司法局") & "'"
                Case 1
                    vals &= "主管司法局='" & nd.DataRow("主管司法局") & "' and  法律服务所= '" & nd.DataRow("法律服务所") & "'"
            End Select
            If flt > "" Then
                flt = flt & " Or (" & vals & ")"
            Else
                flt = vals
            End If
            notchecked + = 1
        End If
    End If
Next
If flt > "" AndAlso notchecked > 0 Then
    t.Filter = flt
Else
    t.Filter = (1 = 2)
End If

 


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


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

  重新加载表数据以后,必须重新生成目录树,这样才能使用属性 e.Node.DataRow

 回到顶部
帅哥哟,离线,有人找我吗?
花开的声音
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/1/22 10:54:00 [只看该作者]

嗯嗯,试了下,的确如此。但我每次每页加载后都要重新生成目录树,好麻烦呵。怎么处理这个问题呢。

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


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

1、不要根据表生成目录树,应该用一个临时表,然后根据临时表生成目录树;

 

2、或者,不要用e.Node.DataRow来写代码


 回到顶部
帅哥哟,离线,有人找我吗?
花开的声音
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/1/22 11:36:00 [只看该作者]

那第二种方法,怎么写呢?


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


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

以下是引用花开的声音在2015-1-22 11:36:00的发言:

那第二种方法,怎么写呢?

 

参考 FullName FullPath,分割出来

 

http://www.foxtable.com/help/topics/0906.htm

 


 回到顶部
总数 17 上一页 1 2