Foxtable(狐表)用户栏目专家坐堂 → 报表的格式转换


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

主题:报表的格式转换

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


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

Forms("窗口1").open
Dim dtb As New DataTableBuilder("表B")
dtb.AddDef("项目", Gettype(String), 30)
For Each v As String In DataTables("利润表").GetValues("发生日期")
    dtb.AddDef(v, Gettype(Double))
Next
dtb.Build()
Dim nms As new List(Of String)
For Each dc As DataCol In DataTables("利润表").DataCols
    If dc.IsNumeric Then
        nms.Add(dc.Name)
    End If
Next
For Each nm As String In nms
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    dr2("项目") = nm
    For Each cl As Col In Tables("表B").cols
        If cl.name <> "项目"
            dr2(cl.name) = DataTables("利润表").compute("sum(" & dr2("项目") & ")","发生日期 = #" & cl.name & "# ")
        End If
    Next
Next
Tables("窗口1_Table1").DataSource = DataTables("表B")

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/11/2 18:49:00 [只看该作者]

把dtb.AddDef(v, Gettype(Double)) 修改为
dtb.AddDef(Format(" #" & v & "#", "y"), Gettype(Double))

实现列标题按类似2015年10月格式显示,但是不行,该怎么改。


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


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

呃,你发的例子,就可以的啊。

 

你要把什么字符转成那样的格式啊,不是随便什么都可以转的啊。


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/11/3 7:11:00 [只看该作者]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.11.2.1
错误所在事件:窗口,窗口2,Button1,Click
详细错误信息:
System.Data.DuplicateNameException: 名为“y”的列已属于此 DataTable。
   在 System.Data.DataColumnCollection.RegisterColumnName(String name, DataColumn column, DataTable table)
   在 System.Data.DataColumnCollection.BaseAdd(DataColumn column)
   在 System.Data.DataColumnCollection.AddAt(Int32 index, DataColumn column)
   在 System.Data.DataColumnCollection.Add(String columnName, Type type)
   在 Foxtable.DataTableBuilder.BuildDataSource()
   在 Foxtable.DataTableBuilder.Build(Boolean OnlyDataTable)
   在 UserCode.AfvBVQGIXGNzYp4fn(ControlEventArgs e)

昨天发错了,按我的想法修改有如上提示

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:横表换成纵表1.foxdb


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/11/3 8:23:00 [只看该作者]

   For Each v As String In DataTables("利润表").GetValues("发生日期")
    dtb.AddDef(format(cdate(v),"y"), Gettype(Double))
Next

 回到顶部
总数 25 上一页 1 2 3