Foxtable(狐表)用户栏目专家坐堂 → 新手提问2


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

主题:新手提问2

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


加好友 发短信
等级:幼狐 帖子:102 积分:966 威望:0 精华:0 注册:2015/10/1 16:23:00
新手提问2  发帖心情 Post By:2015/11/9 14:38:00 [只看该作者]

"Collection was modified; enumeration operation may not execute."  我打开项目后,在目录树中点选打开某一窗口时,就出现的报告窗,关闭该窗之后,这时打开任何窗口都正常。不再有该报警,请问,这一般是什么问题引起的?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/9 14:39:00 [只看该作者]

你写了什么代码?贴出来。

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


加好友 发短信
等级:幼狐 帖子:102 积分:966 威望:0 精华:0 注册:2015/10/1 16:23:00
  发帖心情 Post By:2015/11/9 16:23:00 [只看该作者]

目录树窗口AfterLoad

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
Dim wr As String
For Each dt As DataTable In DataTables
    nd = Trv.Nodes("统计年份")
    wr = dt.Name
    If wr.Substring(0,1) = "d" Then
        nd = nd.Nodes.Add(wr)
        nd.nodes.add("表A")
        nd.Nodes.Add("表B")
        nd.Nodes.Add("表C")
    End If
Next

treeView控件的Nodemouseclick:

Dim ne As String
Dim s As String
Dim trv As WinForm.TreeView = Forms("目录树").Controls("TreeView1")
ne = trv.SelectedNode.Name
For Each dt As DataTable In DataTables
    s = dt.Name
    If s = ne Then
        Forms("主窗口").Open()
Tables("主窗口_Table1").DataSource = DataTables(ne) '动态绑定数据表
Dim a As Integer=DataTables(ne).DataCols.Count
Dim i As Integer
For i=1 To a-1
    Tables("主窗口_Table1").Cols(i).Width=30
Next
With Tables("主窗口_Table1")
    .MergeMode = MergeModeEnum.Standard '标准合并模式
    .MergeCols.Clear() '清除原来的合并列
    .MergeCols.Add("员工姓名") '加入要合并的列
    '.MergeSort = "员工姓名" '设置合并模式下的排序方式
    .AllowMerge = True '启用合并模式
End With
    End If
Next


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/9 16:29:00 [只看该作者]

For Each dt As DataTable In DataTables
    s = dt.Name
    If s = ne Then
        Forms("主窗口").Open()
        Tables("主窗口_Table1").DataSource = DataTables(ne) '动态绑定数据表
        Dim a As Integer=DataTables(ne).DataCols.Count
        Dim i As Integer
        For i=1 To a-1
            Tables("主窗口_Table1").Cols(i).Width=30
        Next
        With Tables("主窗口_Table1")
            .MergeMode = MergeModeEnum.Standard '标准合并模式
            .MergeCols.Clear() '清除原来的合并列
            .MergeCols.Add("员工姓名") '加入要合并的列
            '.MergeSort = "员工姓名" '设置合并模式下的排序方式
            .AllowMerge = True '启用合并模式
        End With
    End If
Next

 

改成

For Each dt As DataTable In DataTables
    s = dt.Name
    If s = ne Then
        Forms("主窗口").Open()
        Tables("主窗口_Table1").DataSource = DataTables(ne) '动态绑定数据表
        Dim a As Integer=DataTables(ne).DataCols.Count
        Dim i As Integer
        For i=1 To a-1
            Tables("主窗口_Table1").Cols(i).Width=30
        Next
        With Tables("主窗口_Table1")
            .MergeMode = MergeModeEnum.Standard '标准合并模式
            .MergeCols.Clear() '清除原来的合并列
            .MergeCols.Add("员工姓名") '加入要合并的列
            '.MergeSort = "员工姓名" '设置合并模式下的排序方式
            .AllowMerge = True '启用合并模式
        End With
        Exit For
    End If
Next

 


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


加好友 发短信
等级:幼狐 帖子:102 积分:966 威望:0 精华:0 注册:2015/10/1 16:23:00
  发帖心情 Post By:2015/11/11 9:56:00 [只看该作者]

谢谢你的耐心解疑!好了

 回到顶部