Foxtable(狐表)用户栏目专家坐堂 → [求助]用QueryBuilder生成的报表的单元格样式问题


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

主题:[求助]用QueryBuilder生成的报表的单元格样式问题

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


加好友 发短信
等级:婴狐 帖子:85 积分:625 威望:0 精华:0 注册:2012/11/27 11:00:00
[求助]用QueryBuilder生成的报表的单元格样式问题  发帖心情 Post By:2013/2/21 16:47:00 [只看该作者]

问题:用QueryBuilder生成的报表,要怎样才能设置单元格的样式?

如下图:
红框1是菜单,点击相应的菜单就会动态生成table(用 new QueryBuilder 实现),即红框2的表格。
红框3是红框2的停靠窗口,只要红框2显示,红框3窗口就会显示。
红框3窗口中有个“查询”按钮,点击后,才开始查询数据(用 DataTables("成品盘点表").fill(……) 实现)。

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

现在是怎样设置红框2表格的单元格样式?

目前已经在红框3窗口的AfterLoad事件中加入代码:
DataTables("成品盘点表").AddUserStyle("样式", Color.LightSalmon, Color.Black)

然后设计全局表事件的DrawCell事件:
Dim tableName As String = "成品盘点表"
If e.Table.name <> tableName Then
    Return
End If

e.Style = "样式"

但是红框2表格的样式没有变化!

[此贴子已经被作者于2013-2-21 16:48:35编辑过]

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


加好友 发短信
等级:婴狐 帖子:85 积分:625 威望:0 精华:0 注册:2012/11/27 11:00:00
  发帖心情 Post By:2013/2/21 17:04:00 [只看该作者]

貌似找到解决方法了,先试试
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=28773

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/21 17:54:00 [只看该作者]

 你需要把全局表事件开启一下。

这些属性都是逻辑型,如果要使某个对该DataTable有效,只需将对应的属性设为True即可。
这些属性中,
只有CurrentChanged、PositionChanged、AfterSelChange、AfterSelRangeChange的默认值为True,这也就是为什么默认只有这四个有效的原因。

例如要使AfterEditA有效,只需:

DataTables("A").GlobalHandler.AfterEdit = True

要使AfterEdit对所有有效,只需:

For Each dt As DataTable In DataTables
    dt.GlobalHandler.AfterEdit
= True
Nex


[此贴子已经被作者于2013-2-21 17:53:51编辑过]

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


加好友 发短信
等级:婴狐 帖子:85 积分:625 威望:0 精华:0 注册:2012/11/27 11:00:00
  发帖心情 Post By:2013/2/22 8:22:00 [只看该作者]

以下是引用lin_hailun在2013-2-21 17:54:00的发言:
 你需要把全局表事件开启一下。

这些属性都是逻辑型,如果要使某个对该DataTable有效,只需将对应的属性设为True即可。
这些属性中,
只有CurrentChanged、PositionChanged、AfterSelChange、AfterSelRangeChange的默认值为True,这也就是为什么默认只有这四个有效的原因。

例如要使AfterEditA有效,只需:

DataTables("A").GlobalHandler.AfterEdit = True

要使AfterEdit对所有有效,只需:

For Each dt As DataTable In DataTables
    dt.GlobalHandler.AfterEdit
= True
Nex


[此贴子已经被作者于2013-2-21 17:53:51编辑过]

谢谢,可以了。设置了DrawCell的全局事件后,可以了,如下:

DataTables("成品盘点表").GlobalHandler.DrawCell=True


 回到顶部