Foxtable(狐表)用户栏目专家坐堂 → 关于动态增减列


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

主题:关于动态增减列

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/26 12:10:00 [显示全部帖子]

excel模板是固定的,无法动态增减。如果要增减,那就需要用vba修改excel模板
 
http://www.foxtable.com/webhelp/scr/2121.htm

 

上传具体例子说明你的问题。
 
 

[此贴子已经被作者于2017/11/26 12:10:47编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/26 16:38:00 [显示全部帖子]

Dim lieming As WinForm.CheckedListBox = e.Form.Controls("xzdylieCheckedListBox")

Dim t As Table = Tables("POS机库存资料")
Dim str As String = t.getColVisibleWidth
If lieming.value > "" Then
    For Each c As Col In t.Cols
        c.visible = False
    Next
    For Each s As String In lieming.value.split(",")
        t.cols(s).visible = True
    Next
End If
Tables("POS机库存资料").Print(True, False)
t.SetColVisibleWidth(str)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/26 21:09:00 [显示全部帖子]

以下是引用裴保民在2017/11/26 19:00:00的发言:
选好要打印的列后,列宽怎么设呢?

 

列宽,你可以用鼠标直接修改右边的列的宽度。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/26 23:05:00 [显示全部帖子]

以下是引用裴保民在2017/11/26 21:14:00的发言:
打印预览无法修改的

 

是在你打印之前,修改右边表格的列的宽度。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/27 8:50:00 [显示全部帖子]

以下是引用裴保民在2017/11/26 23:42:00的发言:
我的窗体表不在打印窗体上,窗体是调用的只是选择要打印的列,而且打印窗体是模式窗体,没法调整列的宽度
[此贴子已经被作者于2017/11/27 0:51:45编辑过]

 

那你本来想怎么设置列宽?通过什么方式设置列宽?

 

1、你可以调整好列宽,然后再打开窗口;

 

2、你可以在窗口那里放一个表格,用于设置表格列宽。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/27 9:00:00 [显示全部帖子]

以下是引用裴保民在2017/11/27 8:55:00的发言:
两个窗体的表格能设置成同步数据吗?因为要打印的数据是了一个窗体筛选过的数据。

 

可以,弄成副本表,afterLoad事件写代码

 

e.form.controls("Table1").Table.Filter = Tables("表A").Filter


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/28 8:58:00 [显示全部帖子]

1、参考

 

http://www.foxtable.com/webhelp/scr/1909.htm

 

2、你这个模式窗口,不要设置属性【最顶层->True】,或者在打印前设置为false,如代码 e.form.baseform.topmost = false


 回到顶部