以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 锁定隐藏列 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188817) |
-- 作者:1234567 -- 发布时间:2023/10/20 21:16:00 -- 锁定隐藏列 通过代码,显示第一列,第二列,Tables("窗口_Table1").SetColVisibleWidth("第一列|40|第二列") 希望对隐藏列进行锁定,求代码.
|
-- 作者:有点蓝 -- 发布时间:2023/10/21 8:51:00 -- 无法锁的。如果不想用户自己显示隐藏列,把所有的隐藏列菜单去掉,类似:http://www.foxtable.com/webhelp/topics/2438.htm |
-- 作者:1234567 -- 发布时间: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 -- 发布时间: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 -- 发布时间: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 |
-- 作者:有点蓝 -- 发布时间: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 |