Foxtable(狐表)用户栏目专家坐堂 → 锁定隐藏列


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

主题:锁定隐藏列

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


加好友 发短信
等级:四尾狐 帖子:806 积分:6312 威望:0 精华:0 注册:2013/2/18 17:46:00
锁定隐藏列  发帖心情 Post By:2023/10/20 21:16:00 [只看该作者]

通过代码,显示第一列,第二列,Tables("窗口_Table1").SetColVisibleWidth("第一列|40|第二列")
希望对隐藏列进行锁定,求代码.

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/21 8:51:00 [只看该作者]

无法锁的。如果不想用户自己显示隐藏列,把所有的隐藏列菜单去掉,类似:http://www.foxtable.com/webhelp/topics/2438.htm

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


加好友 发短信
等级:四尾狐 帖子:806 积分:6312 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/21 10:12:00 [只看该作者]

Select Case e.DataCol.Name
    Case "重量" , "材料单价"
        e.DataRow("材料价格") = e.DataRow("重量") * e.DataRow("材料单价")
End Select

Select Case e.DataCol.Name
    Case "重量" , "加工单价"
        e.DataRow("加工价格") = e.DataRow("重量") * e.DataRow("加工单价")
End Select

当某行有重量、材料单价、加工单价、材料价格、加工价格内容时,会出现材料价格加工价格同时出现的问题。造成重复计算。
现数据结构为,当工序为备料时,隐藏加工类内容,当工序为价格时,隐藏材料类内容。
希望对隐藏列予以清零并不可编辑。


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


加好友 发短信
等级:四尾狐 帖子:806 积分:6312 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/21 10:14:00 [只看该作者]

'With CurrentTable

  

        'For c As Integer = .LeftCol To .RightCol

         ' If .Cols(c).Visible = False Then

          

           ' e.Row(c) = Nothing

            '    End If

      '  Next

    

'End With


这样,隐藏列确实可以不被编辑,但从父表继承的数据以及从目录树录入的数据 还是存在。


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


加好友 发短信
等级:四尾狐 帖子:806 积分:6312 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/21 10:16:00 [只看该作者]

'With CurrentTable

  

        'For c As Integer = .LeftCol To .RightCol

         ' If .Cols(c).Visible = False Then

          'e.Cancel = True

           ' e.Row(c) = Nothing

            '    End If

      '  Next

    

'End With


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/21 10:45:00 [只看该作者]

3楼代码改为
Select Case e.DataCol.Name
    Case "重量" , "材料单价","加工单价","工序"
if e.DataRow("工序") = "备料"
        e.DataRow("材料价格") = e.DataRow("重量") * e.DataRow("材料单价")
        e.DataRow("加工价格") = nothing
elseif e.DataRow("工序") = "价格"
        e.DataRow("加工价格") = e.DataRow("重量") * e.DataRow("加工单价")
        e.DataRow(""材料价格") = nothing
end if
End Select



 回到顶部