Foxtable(狐表)官方栏目发展建议 → 版主看到后有什么感想?


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

主题:版主看到后有什么感想?

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


加好友 发短信
等级:幼狐 帖子:123 积分:719 威望:0 精华:0 注册:2012/12/16 13:09:00
版主看到后有什么感想?  发帖心情 Post By:2012/12/24 16:29:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/12/24 17:01:00 [只看该作者]

呵呵,看你处理什么任务,整体foxtable更轻松。

 

例如要从订单表得到下面的统计数据:

 

 

FoxTable的代码是:

 

Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g
.HGroups.AddDef("产品")
g
.VGroups.AddDef("日期", DateGroupEnum.Year, "{0}年_数量")
g
.Totals.AddDef("数量", "数量")
g
.HorizontalTotal = True
g
.VerticalTotal = True
g
.HorizontalProportion = True
g
.Build()
MainTable = Tables(
"统计表1"
)

 

你用VBA写,看看要多长。

 

再例如,要用目录树一次数多多列(省|县市|区号|邮编)数据:

 

 

同样只需几行代码:

 

 Dim tb As New DropTreeBuilder
tb.SourceTable =
DataTables("行政区域") '指定目录树表
tb.TreeCols =
"省|县市" '指定用于生成目录树的列
tb.SourceCols =
"省|县市|区号|邮编" '指定数据来源列
tb.ReceiveCols =
"省|县市|区号|邮编" '指定数据接收列
Tables("客户").Cols("省").DropTree = tb.Build()


 

你用VBA写个看看。

 

Foxtable封装了大量的工具,开发一个系统,至少可以为你节省80%左右的代码。

 

回到一楼的代码,你想简单,可以改为:

 

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
If dc.Name = "fwsj"
    dr("nd") = iif(dr.IsNull("fwsj"),Nothing, Year(dr("fwsj")) & "年")
    dr("yf") = iif(dr.IsNull("fwsj"),Nothing, Month(dr("fwsj")) & "月")
End If

 

不过我更喜欢原来的,多谢了if Then,但是可读性好很多。

[此贴子已经被作者于2012-12-24 17:06:08编辑过]

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


加好友 发短信
等级:幼狐 帖子:123 积分:719 威望:0 精华:0 注册:2012/12/16 13:09:00
  发帖心情 Post By:2012/12/24 17:47:00 [只看该作者]

用户已被锁定

 回到顶部