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


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

主题:一处不完美的地方

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


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

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

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


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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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的列设置为隐藏


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


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

很简单的,排除或者自定义SetColVisibleWidth都可以做到,有事马上出去,晚上回来再说


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


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

呵呵,是的。

 

顺便帮楼主改了一个自定义SetColVisibleWidth的代码:

 

Dim Names As New List(Of String)
Dim cvs As String = Tables("订单").GetColVisibleWidth()
Dim Values() As String
Values = cvs.split("|")
For i As Integer = 1 To Values.Length - 1  Step 2
    If Values(i) = 0
        Tables("产品.订单").Cols(Values(i-1)).Visible = False
    Else
        Tables("产品.订单").Cols(Values(i-1)).Width = Values(i)
    End If
Next

[此贴子已经被作者于2012-10-11 21:40:05编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/12 11:49:00 [显示全部帖子]

以下是引用Fotable在2012-10-11 22:31:00的发言:
学习了。程兴刚 高级写法

 

惭愧,高级写法算不上,但这样的巧妙根据数组的奇偶位特征规律的运用,应该是值得大家借鉴的!


 回到顶部