以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:锁定表时,只留”是否打印“逻辑列不锁定,怎么编程?谢谢!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96080)

--  作者:dyzkdxy
--  发布时间:2017/2/12 22:38:00
--  求助:锁定表时,只留”是否打印“逻辑列不锁定,怎么编程?谢谢!

以下方法都出错!不知如何修改?

 

 

 

        以上两种方法,错误信息度一样。错误信息如下:

 

         .NET Framework 版本:2.0.50727.8009
         Foxtable 版本:2016.7.29.1
         错误所在事件:窗口,工资查询,AfterLoad
         详细错误信息:
         未找到类型“Boolean”的公共成员“Locked”。

 

 

试用方法一:

Dim drs As List(Of DataRow)
drs = DataTables("工资").Select("")
For Each dr As DataRow In drs
    dr.Locked = True                     ‘先锁定表
    dr("是否打印").Locked =False     ‘在再锁列,这一条语句有错!!!!!

Next

 

 

 

试用方法二:

For i As Integer =0 To Tables("工资").count-1

    dataTables("工资").dataRows(i).Locked = true           ‘先锁定表
    Tables("工资").Rows(i)("是否打印").Locked = False      ‘在再锁列,这一条语句有错!!!!!
Next

 


--  作者:dyzkdxy
--  发布时间:2017/2/12 22:50:00
--  
也就是如何从锁定表中解锁特定列?
--  作者:dyzkdxy
--  发布时间:2017/2/12 22:52:00
--  

或者如何从锁定行中解锁特定单元格?

 


--  作者:有点色
--  发布时间:2017/2/12 23:46:00
--  
For Each c As Col In Tables("表A").cols
    If c.name = "第一列" Then
        c.Allowedit = True
    Else
        c.Allowedit = False
    End If
Next

--  作者:dyzkdxy
--  发布时间:2017/2/17 19:51:00
--  

For Each dc As DataCol In DataTables("订单").DataCols
    If dc.Name="是否打印流程单"  Then
        DataTables("订单").DataCols(dc.Name).AllowEdit = True
    Else
        DataTables("订单").DataCols(dc.Name).AllowEdit = False
    End If
Next

 


--  作者:dyzkdxy
--  发布时间:2017/2/17 19:56:00
--  

这几天忙,没来这,通过钻研,用下面的方法解决了。但是,还是“有点色”老师的代码精简!学习了,谢谢!

 

For Each dc As DataCol In DataTables("订单").DataCols
    If dc.Name="是否打印流程单"  Then
        DataTables("订单").DataCols(dc.Name).AllowEdit = True
    Else
        DataTables("订单").DataCols(dc.Name).AllowEdit = False
    End If
Next