以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教一个关于移除列的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32619)

--  作者:wengfuyy
--  发布时间:2013/5/5 13:26:00
--  请教一个关于移除列的问题
我希望对“员工”隐藏 "主任评分","经理评分","综合得分"三个列,对“中心主任”隐藏 "经理评分","综合得分"  ,在项目的 LoadUserSetting里写了如下代码:
If User.IsRole("员工") Then  
    Tables("monthplan").Cols.Remove("主任评分","经理评分","综合得分")
ElseIf User.IsRole("中心主任") Then
    Tables("monthplan").Cols.Remove("经理评分","综合得分")
End If

每当初次进入项目时,都很正常,但当我在切换用户后就容易产生错误,提示如下:
请各位老师看看是什么问题,怎么改,谢谢。

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


--  作者:fjlclxj
--  发布时间:2013/5/5 14:21:00
--  
可能是两次移除“经理评分","综合得分”列的缘故

--  作者:不倒的翁
--  发布时间:2013/5/5 14:29:00
--  
 已经删除了还能在删除么?
Tables("monthplan").Cols("主任评分").Visible = False
隐藏。

--  作者:wengfuyy
--  发布时间:2013/5/5 14:53:00
--  
可能是两移除的原因。但我不知道怎么判断是否已经移除;
--  作者:wengfuyy
--  发布时间:2013/5/5 14:54:00
--  
可能是两移除的原因。但我不知道怎么判断是否已经移除;
--  作者:wengfuyy
--  发布时间:2013/5/5 14:55:00
--  
以下是引用不倒的翁在2013-5-5 14:29:00的发言:
 已经删除了还能在删除么?
Tables("monthplan").Cols("主任评分").Visible = False
隐藏。但我想要的是“移除”的效果。


--  作者:狐狸爸爸
--  发布时间:2013/5/6 10:24:00
--  

你可以判断一下:

 

If User.IsRole("员工") Then
    If Tables("monthplan").Cols.Contains("主任评分") Then
        Tables("monthplan").Cols.Remove("主任评分")
    End If
    If Tables("monthplan").Cols.Contains("经理评分") Then
        Tables("monthplan").Cols.Remove("经理评分")
    End If
    If Tables("monthplan").Cols.Contains("综合得分") Then
        Tables("monthplan").Cols.Remove("综合得分")
    End If
ElseIf User.IsRole("中心主任") Then
    If Tables("monthplan").Cols.Contains("经理评分") Then
        Tables("monthplan").Cols.Remove("经理评分")
    End If
    If Tables("monthplan").Cols.Contains("综合得分") Then
        Tables("monthplan").Cols.Remove("综合得分")
    End If
End If