Foxtable(狐表)用户栏目专家坐堂 → 窗口中的临时表


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

主题:窗口中的临时表

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


加好友 发短信
等级:幼狐 帖子:110 积分:963 威望:0 精华:0 注册:2014/4/1 19:48:00
窗口中的临时表  发帖心情 Post By:2014/8/29 9:13:00 [只看该作者]

在窗口中建立“任务主界面_Table1“是SQLQuery表,数据加载正常,而加载数据后重绘列"状态"没有反应。代码如下:

 

'在窗口打开时生成临时表结构

With Tables("任务主界面_Table1")  

    Dim dtb As New DataTableBuilder("统计1")

    dtb.AddDef("任务编号", Gettype(String), 100)

    dtb.AddDef("任务主题", Gettype(String), 150)

    dtb.AddDef("开始时间", Gettype(Date))

    dtb.AddDef("计划完成时间", Gettype(Date))

    dtb.AddDef("状态", Gettype(String), 50)

    dtb.AddDef("负责人", Gettype(String), 150)

    dtb.Build()

   

    '填充数据

    Dim f As New Filler

    f.SourceTable = DataTables("任务表") '指定数据来源

    f.SourceCols = "负责人,任务编号,任务主题,开始时间,计划完成时间,状态" '指定数据来源列

    f.DataTable = DataTables("统计1") '指定数据接收表

    f.DataCols = "负责人,任务编号,任务主题,开始时间,计划完成时间,状态" '指定数据接收列

    f.ExcludeExistValue =True

    Dim dt1 As Date = Date.today

   f.Filter ="开始时间 Is Not Null And 计划完成时间 Is Not Null And 开始时间 <= #" & dt1 & "# And 计划完成时间 >= #" & dt1 & "#    

    f.fill()

    .DataSource = DataTables("统计1" )

    .SetColVisibleWidth("任务编号|100|任务主题|200|负责人|100|开始时间|70|计划完成时间|70|状态|70|")

End with

 

    窗口中表“任务主界面_Table1“的表事件

If e.Col.name= "状态" Then

    e.StartDraw

    e.Graphics.DrawImage(delimg1, e.x + 3,e.y + 3) '绘制第一个图标

    e.EndDraw

End If


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


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

上个例子看看.

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/29 9:17:00 [只看该作者]

 这句代码.DataSource = DataTables("统计1" ),表明table控件是副本表,副本表的事件drawcell是不能写在表控件里面的。

 

 你要开启 统计1 的全局表事件

 

 http://www.foxtable.com/help/topics/0671.htm

 


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


加好友 发短信
等级:幼狐 帖子:110 积分:963 威望:0 精华:0 注册:2014/4/1 19:48:00
  发帖心情 Post By:2014/8/29 10:14:00 [只看该作者]

以下引用帮助内容:             
我们知道Foxtable是通过以下类型生成统计表或临时表的:

GroupTableBuilder
CrossTableBuilder
SQLGroupTableBuilder
SQLCrossTableBuilder
SQLJoinTableBuilder
DataTableBuilder

这些类型都新增加了一个BuildDataSource方法,可以生成一个对象,此对象可以直接绑定到SQLTable和SQLQuery类型的Table,以及副本型的Table。
例如将某按钮的Click事件代码设为:

Dim b As New GroupTableBuilder("统计表1",DataTables("订单"))
b.Groups.AddDef("日期","月份")
b.Totals.AddDef("数量")
Tables
("窗口1_Table1").DataSource = b.BuildDataSource()



我想实现的功能:

    1.生成一个临时表结构(需要从3个表提取列)

    2.用Filler填充数据

     3.填充数据后重绘列“状态”


请问用BuildDataSource()是否能完成以上功能?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/29 10:33:00 [只看该作者]

 你如果要绘制table表格,建议你还是开启table表格的全局表事件

 

http://www.foxtable.com/help/topics/0671.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/29 10:34:00 [只看该作者]

 你实在不知道怎么办,就请上传一个相关的例子。


 回到顶部
帅哥哟,离线,有人找我吗?
蝙蝠侠K02
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:963 威望:0 精华:0 注册:2014/4/1 19:48:00
  发帖心情 Post By:2014/8/29 10:36:00 [只看该作者]

 我想重绘窗口中的临时表,请田老师看看!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1.rar


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/29 10:53:00 [只看该作者]

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


 回到顶部