Foxtable(狐表)用户栏目专家坐堂 → 关于对隐藏列权限控制的问题


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

主题:关于对隐藏列权限控制的问题

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/6/25 12:25:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-6-25 10:43:00的发言:

自己做个复制按钮,简单方便。

这个按钮不好做的, 像在excel中要排除隐藏内容有个 Alt + ; 《 这个是 分号;的办法,狐表没发现有这样的功能。

不过原理上可以:

1、先建个临时表,行列要=当前表复制的区域;        (这个区域好像也没法排除隐藏的列????)

2、再用代码将复制的区域中的单元格内容充填到临时表;

3、再复制整个临时表,粘贴到Excel中。

 

有点麻烦的···图片点击可在新窗口打开查看

 

不过要保密隐藏的列,最好系统的复制按钮只对显示的内容有效才好····

[此贴子已经被作者于2010-6-25 12:34:56编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/6/25 12:52:00 [显示全部帖子]

是的,Excel 搞了个 Alt + ;来复制可见内容,是多此一举了,本来就应该复制可见的内容,如果要复制要包含隐藏的内容用此方法才对。

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/6/25 15:35:00 [显示全部帖子]

.Cols(c).Visible   表示当前表的可见列···

ControlChars.cr   我不懂  , 还有好几个我都不懂。 抄用就行了,除了你懂.net 和Vb等。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/6/25 15:45:00 [显示全部帖子]

我用纯foxtable做了一个,大家看看有什么问题没有

dim nm,nm1 as string
Dim tb as Table = currenttable
with tb
    Dim dtb As New DataTableBuilder("ls")
    For Each cl As Col In tb.Cols 
        If cl.Visible Then
            if cl.index >= .leftcol and cl.index <= .rightcol
                dtb.AddDef(cl.name, GetType(String), 32)
                nm = nm & cl.name & ","
            End If
        End If
    Next
    dtb.Build()
    Tables("ls").addnew(.bottomrow-.toprow+1)
end with

with tb

    dim r as integer = .toprow
    dim l as integer = .leftcol
    for i as integer = .toprow to .bottomrow
        for c as integer = .leftcol to .rightcol
            If tb.cols(c).Visible Then
                tables("ls").rows(i-r)(.cols(c).name)= tb(i,c)

            end if
        next
    next
end with
MainTable= Tables("ls")
tables("ls").Select(0,0,tables("ls").count-1,tables("ls").cols.count-1)
Application.DoEvents
tables("ls").focus
Syscmd.Edit.Copy()
Application.DoEvents
'DataTables.Delete("ls")   '***可以选择删除临时表,

 

但速度慢:要1~2秒钟····   作为练习了~   


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/6/25 16:00:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-6-25 15:47:00的发言:

12楼不就是纯foxtable的吗?

 

图片点击可在新窗口打开查看

 

 

因为很多词在帮助中都搜索不到,如:

ControlChars
ToString
ControlChars.cr
SetText
所以我就认为不是纯的foxtable用语了,你老家伙总是藏着点什么不吐出来···· 图片点击可在新窗口打开查看图片点击可在新窗口打开查看  图片点击可在新窗口打开查看图片点击可在新窗口打开查看  弄得咱们晕死了~~~   呵呵。。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/6/25 16:09:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-6-25 16:06:00的发言:

吐不完的,再来两万页的帮助,也吐不完。

foxtable的帮助只能讲最常用的。

再随系统给个foxtable高级版.chm 吧。这样可以给需要的狐友享用···


 回到顶部