Foxtable(狐表)用户栏目专家坐堂 → 锁定单元格或者列


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

主题:锁定单元格或者列

美女呀,离线,留言给我吧!
susu312
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
锁定单元格或者列  发帖心情 Post By:2018/8/14 21:45:00 [只看该作者]


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

'If e.Col.Name = "日期分组" AndAlso  e.Row.Table.Cols("分组列").IsDate = False Then
    'e.Col.AllowEdit = False
'Else
    'e.Col.AllowEdit = True
'End If

 

老师,上图中,如何分组列不是日期列,则日期分组是不可用的,这是在哪个事件里面设置呀?我在perpareEdit设置,一下就把列锁住,都不对了


 回到顶部
美女呀,离线,留言给我吧!
susu312
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/14 21:57:00 [只看该作者]

就是当分组列不是日期类型时,日期分组那一列就不可用?该咋设置呀?

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/14 22:15:00 [只看该作者]

perpareEdit

If e.Col.name = "日期分组"
    If Tables("xxx").cols(e.Row("分组分组")).IsDate = False Then e.cancel = True
End If

 回到顶部
美女呀,离线,留言给我吧!
susu312
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/14 22:38:00 [只看该作者]

以下是引用有点蓝在2018/8/14 22:15:00的发言:
perpareEdit

If e.Col.name = "日期分组"
    If Tables("xxx").cols(e.Row("分组分组")).IsDate = False Then e.cancel = True
End If

老师,不行,当分组列不是日期类型时,依然可以编辑

 


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

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/14 22:50:00 [只看该作者]

贴出代码,或者实例说明。

不要老是只会说这不行那也不行。不要期待我们靠想象就能解决问题

 回到顶部
美女呀,离线,留言给我吧!
susu312
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/14 22:58:00 [只看该作者]

以下是引用有点蓝在2018/8/14 22:50:00的发言:
贴出代码,或者实例说明。

不要老是只会说这不行那也不行。不要期待我们靠想象就能解决问题

老师,不好意思啊

 

 

Dim nums1() As String={"sex","age","birth", _
                     "edu","workdate","politicalStatus", _
                     "retiredPost","title","leaOrRetire", _
                    "retireTime","proTecPost","partyTime", _
                     "organName","partyStanding","retiredDep"}
Dim nums2()  As String={"性别","年龄","出生年月", _
                     "学历","参加工作时间","政治面貌", _
                     "离退休职务","享受待遇","状态", _
                    "离退休时间","专业技术职务","入党时间", _
                     "单位","党龄","部门"}


If e.Col.name = "日期分组" Then
    Dim t As Table = Tables("person")
    Dim Index As Integer=Array.Indexof(nums2,e.Row.DataRow("分组列"))
    If t.cols(nums1(Index)).IsDate  Then
           e.cancel = True
     End If
End If

 

 

这个是代码,您先看着,我去做实例


 回到顶部
美女呀,离线,留言给我吧!
susu312
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/14 23:14:00 [只看该作者]

以下是引用有点蓝在2018/8/14 22:50:00的发言:
贴出代码,或者实例说明。

不要老是只会说这不行那也不行。不要期待我们靠想象就能解决问题

老师,我做的例子中可以,我再想想看我的代码问题在那里了谢谢老师


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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/14 23:20:00 [只看该作者]

If t.cols(nums1(Index)).IsDate = false Then 

 回到顶部
美女呀,离线,留言给我吧!
susu312
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/14 23:40:00 [只看该作者]


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

 

代码:preprareEdit事件

 

If e.Col.name = "日期分组"
    If  e.Row("分组列") IsNot Nothing  AndAlso Tables("person").cols(e.Row("分组列")).IsDate = False Then e.cancel = True
End If

 

老师, 我写完prepareEdit事件后,就提示那个错误,红色是我加的,没啥效果,我觉得用数组对应不方便容易出错就改成数据字典了


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/15 9:06:00 [只看该作者]

If e.Col.name = "日期分组"
    If  e.Row("分组列") <> Nothing  AndAlso Tables("person").cols(e.Row("分组列")).IsDate = False Then e.cancel = True
End If

 回到顶部