Foxtable(狐表)用户栏目专家坐堂 → 一处不完美的地方


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

主题:一处不完美的地方

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


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
一处不完美的地方  发帖心情 Post By:2012/10/11 16:45:00 [只看该作者]

帮助中提到:

GetColVisibleWidth

返回一个字符串,包括显示的列及列宽信息,用符号“|”隔开。例如:日期|90|产品|120|客户|120|数量|60
本方法一般和SetColVisibleWidth配合使用。

示例

Dim cvs As String = Tables("订单").GetColVisibleWidth()
Tables(
"产品.订单").SetColVisibleWidth(cvs)

执行上述代码后,关联表Tables("产品.订单")的显示列、列位置、列宽将和主表Tables("订单")完全一致

 

实际操作中,发现并不完全一致。为什么呢?

例如:我用 getcolvisiblewidth   会得到这样的字符串  “编号|43|姓名|61|性别|26|生日|71|身份证|0|偏好|0|照片|0|备注|0|单位_职务|47|联系_手机|78|联系_手机2|0|联系_QQ|71|联系_Email|0|单位_名称|56|单位_固话|0|单位_门号|0|家庭_电话|43|家庭_地址|96”

然后 我用setcolvisiblewidth(cvs) 发现 这些width = 0的列 并没有隐藏 而是显示出来了一点点。

 


图片点击可在新窗口打开查看此主题相关图片如下:2012-10-11_164515.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-10-11 17:06:59编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/11 17:00:00 [只看该作者]

1、应该由贺老师改过来,setcolvisiblewidth设置列之时将列宽为0的列直接隐藏;

2、暂时可以用循环语句自己写一个


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


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
  发帖心情 Post By:2012/10/11 17:08:00 [只看该作者]

2.自己写 SetColVisibleWidth函数吗?

另外我觉得 贺老师应该改的是 GetColVisibleWidth 把为零的列 不需要列出来。

[此贴子已经被作者于2012-10-11 17:10:06编辑过]

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


加好友 发短信
等级:四尾狐 帖子:953 积分:7252 威望:0 精华:0 注册:2011/9/6 13:36:00
  发帖心情 Post By:2012/10/11 17:08:00 [只看该作者]

你用getcolvisiblewidth得到的列宽为0,说明你并没有隐藏身份证|0|偏好|0|照片|0|备注|0|联系_手机2|0|联系_Email|0|单位_固话|0这些列,如需隐藏,点击数据表->其他->取消隐藏列...,将需要隐藏的列的前面的勾去掉即可。

 


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


加好友 发短信
等级:四尾狐 帖子:953 积分:7252 威望:0 精华:0 注册:2011/9/6 13:36:00
  发帖心情 Post By:2012/10/11 17:11:00 [只看该作者]

补充说明,列宽设为-1时,为初始宽度,即新增列时的宽度。

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


加好友 发短信
等级:五尾狐 帖子:1015 积分:6979 威望:0 精华:0 注册:2012/8/1 18:41:00
  发帖心情 Post By:2012/10/11 17:11:00 [只看该作者]

我是隐藏了的 我在列表头 单击右键 隐藏该列 ,这应该也是隐藏列的允许方法吧

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


加好友 发短信
等级:四尾狐 帖子:953 积分:7252 威望:0 精华:0 注册:2011/9/6 13:36:00
  发帖心情 Post By:2012/10/11 17:15:00 [只看该作者]

那该列不应该出现在字符串中啊

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/11 17:17:00 [只看该作者]

用循环语句将cvs包含0的列排除掉再设置列宽就隐藏了!

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


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

我改进一下。

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/11 17:21:00 [只看该作者]

以下是引用Fotable在2012-10-11 17:08:00的发言:

2.自己写 SetColVisibleWidth函数吗?

另外我觉得 贺老师应该改的是 GetColVisibleWidth 把为零的列 不需要列出来。

[此贴子已经被作者于2012-10-11 17:10:06编辑过]

 

GetColVisibleWidth不能修改的,假如您需要将隐藏的列调用出来,通过代码将为0的参数修改为其他值重新显示部分列办?
故应该在SetColVisibleWidth将为0的列设置为隐藏


 回到顶部
总数 19 1 2 下一页