Foxtable(狐表)用户栏目专家坐堂 → 关于表名、表列导出以及隐藏列的几个问题?


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

主题:关于表名、表列导出以及隐藏列的几个问题?

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
关于表名、表列导出以及隐藏列的几个问题?  发帖心情 Post By:2014/9/16 7:16:00 [只看该作者]

关于表名、表列导出以及隐藏列的几个问题?

 

(1)隐藏列和取消隐藏列

      


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

   如上图:

       复选框未打对号的为隐藏列,我想达到如下要求,打开”取消隐藏列“

          1)开发者登录,该对话框所有列全部显示,

          2)管理员登录,不显示开发者不想让其他人知道的列,如,计算某一列设定的“过渡列”,如“时间”列等。“时间”列不显示

          3)员工登录,不需显示职工用不到的列,如“年”“月”“日”“时间”,管理员登录打开“取消隐藏列”窗口可显示“年”“月”“日”。

          4)或者再设定不同的分组显示不同的列。

          窗口所有列指窗口显示的列,不包括表的所有列。

 

(2)表、表列

      


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

   如上图:

   A)导出列

       通过复选框可以导出需要的列,我想达到如下要求,

          1)开发者登录,该对话框所有列全部显示,可以全部导出,也可选择导出部分列。

          2)管理员登录,不显示开发者不想让其他人知道的列,如,计算某一列设定的“过渡列”,如“时间”列等。“时间”列不显示,也就是管理员无法导出“时间列”,即使选择所有列,也无法导出“时间列”,因为窗口中不显示。

          3)员工登录,不需显示职工用不到的列,如“年”“月”“日”“时间”,管理员登录打开“取消隐藏列”窗口可显示,可导出,而员工登录不显示“年”“月”“日”“时间”列,导出列时也就无法导出,只能导出在窗口中显示的所有列,窗口中不显示列无法导出的。

          4)或者再设定不同的分组显示不同的列。

          窗口所有列指窗口显示的列,不包括表的所有列。

 

  

[此贴子已经被作者于2014-9-16 7:19:32编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/16 8:43:00 [只看该作者]

自己设计一个导出窗口. 喜欢怎么样控制都可以. 系统自带的窗口无法控制


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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2014/9/16 9:41:00 [只看该作者]

谢谢


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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2014/9/16 16:44:00 [只看该作者]

如何达到显示的列打对号,不显示的列不打对号

 

 在 AfterLoad代码

 

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each c As Col In CurrentTable.Cols   
           tv.Nodes.Add(c.Name)
Next
For Each nd As WinForm.TreeNode In tv.AllNodes
     For Each c As Col In CurrentTable.Cols '排除隐藏列         
          If c.Visible  Then
              nd.Checked = True
          End If
    Next
Next

 

上述代码全部打对号


[此贴子已经被作者于2014-9-16 16:45:04编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/16 16:46:00 [只看该作者]

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each c As Col In CurrentTable.Cols   
           tv.Nodes.Add(c.Name)
Next
For Each nd As WinForm.TreeNode In tv.AllNodes 
     For Each c As Col In CurrentTable.Cols '排除隐藏列          
              nd.Checked = c.Visible
    Next
Next

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2014/9/16 16:58:00 [只看该作者]

谢谢

上述代码执行后,全部不打对号

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

 

我想达到的是显示的列打对号,不显示的列不打对号

 


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

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/16 17:02:00 [只看该作者]

你代码逻辑本身就不对, 你遍历所有节点,又遍历所有列有何意义,又不一一对应.

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each c As Col In CurrentTable.Cols
           Dim nd As WinForm.TreeNode = tv.Nodes.Add(c.Name)
           nd.Checked = c.Visible
Next


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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2014/9/16 17:05:00 [只看该作者]

谢谢

 回到顶部