Foxtable(狐表)用户栏目专家坐堂 → 关于动态增加临时列


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

主题:关于动态增加临时列

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2017/4/7 11:42:00 [显示全部帖子]

增加以后,移动位置

 

Tables("表A").Cols("第二列").Move(8)


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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2017/4/7 11:52:00 [显示全部帖子]

以下是引用10059在2017/4/7 11:49:00的发言:
谢谢青老师,再个问题就是临时列可以用来分组统计??

 

可以的


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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2017/4/7 12:01:00 [显示全部帖子]

 贴出你写的代码。


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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2017/4/7 14:20:00 [显示全部帖子]

 改一下代码,看弹出什么

 

Dim dt As DataTable = Tables("离职管理_table1").DataTable
dt.DataCols.Add("工号", Gettype(String), 20)
msgbox(1)
Tables("离职管理_table1").Cols("工号").move(1)
msgbox(2)
dt.DataCols.Add("姓名", Gettype(String), 6)
dt.DataCols.Add("部门", Gettype(String), 32)
dt.DataCols.Add("入职日期", Gettype(Date))
dt.DataCols("emp_no").RaiseDataColChanged()

msgbox(3)
Dim b As new GroupTableBuilder("统计表",dt)
b.Groups.Adddef("部门")
b.Totals.adddef("emp_no",AggregateEnum.Count,"人数")
dt = b.build(False)
Tables("统计表").Visible = False
Dim c As WinForm.TreeView = e.Form.Controls("TreeView1")
c.buildtree(dt,"部门")
c.StopRedraw
For Each d As WinForm.TreeNode In c.AllNodes
    Dim bm As String = d.DataRow("部门")
    Select Case d.level
        Case 0
            d.Text = d.Text & "(" & dt.Compute("Sum(人数)","部门 = '" & bm & "'" ) & "人)"
    End Select
Next
c.Nodes.Insert("加载所有行","加载所有行(" & dt.Compute("Sum(人数)") & "人)",0)
c.ResumeRedraw


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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2017/4/7 15:02:00 [显示全部帖子]

窗口表的话,尽量用 Tables("离职管理_table1") 这种方式来访问。如果要用到datatable,就写成Tables("离职管理_table1").DataTable

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2017/4/7 16:06:00 [显示全部帖子]

 临时列不能用加载的,只能筛选

 

Dim Filter As String = ""
If e.Node.Name <> "加载所有行" Then '要用Name属性,不能用Text属性
    Dim bm As String = e.Node.DataRow("部门")
    Select Case e.Node.Level
        Case 0
            Filter ="部门 = '" & bm & "'"
    End Select
End If
Tables("离职管理_table1").Filter = Filter
 

 回到顶部