Foxtable(狐表)用户栏目专家坐堂 → 关于根据日期形成目录树的问题?


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

主题:关于根据日期形成目录树的问题?

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
关于根据日期形成目录树的问题?  发帖心情 Post By:2014/12/27 12:40:00 [只看该作者]

关于根据日期形成目录树的问题?

日期按每月23日-下月22日为一个月时,


图片点击可在新窗口打开查看此主题相关图片如下:1.bmp
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.bmp
图片点击可在新窗口打开查看
图1,按“日期”列形成的目录树,月份按1-12数字大小排列(好看)

图2,按“月”列形成的目录树,月份按字符先后顺序排列(不好看),但能用

 

点击节点查询时,代码是一样的。但不能按日期的月查询,只能按日期计算出来的月,来按该“月”列查询

如按日期2012-12-23查询是查2012-12-23日的数据,

如按计算出来的“月”查询:2012-12-23是2013年1月23日第一季度的数据

问题是当日期按每月23日-下月22日为一个月时,按图1形成的目录树多出了最开始的几天日期即11月份的23-30日几天,查询时无数据(根本不存在),如何取消

[此贴子已经被作者于2014-12-27 12:55:53编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/12/27 13:51:00 [只看该作者]

增加一个辅助数值列作为排序,再依据这个列作为排序生成目录树.

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2014/12/30 19:39:00 [只看该作者]

谢谢,

 

利用下列方法就不用单独在表中增加辅助列了

'首先生成统计表
Dim dt As DataTable
Dim b As New GroupTableBuilder("统计表1",DataTables("坯布输入"))
b.Groups.AddDef("年","年1")  ‘把年,月,日列改为年1,月1,日1列,都为字符列
b.Groups.AddDef("月","月1")
b.Groups.AddDef("日","日1")
dt = b.Build(False)

'然后根据统计表生成目录树
With dt.DataCols  

    .Add("年",Gettype(Integer),"[年1]") ’新添加年,月,日列,把年1,月1,日1的字符值转换成数值。
    .Add("月",Gettype(Integer),"[月1]")
    .Add("日",Gettype(Integer),"[日1]")
End With
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|日")

 

效果如下

 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-12-30 19:40:53编辑过]

 回到顶部