以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  用代码复制表的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=150718)

--  作者:15666282205
--  发布时间:2020/6/5 16:02:00
--  用代码复制表的问题
老师,用以下代码复制表的内容,提示:column "合计“ is read only. 然后就停止复制了, 有时候显示其他列,显示的列都是表达式列。代码如下:
\'--------------------------------------复制当月至累计-----------------
    For Each dr1 As DataRow In DataTables("当月考勤表2").Select("")
        Dim dr2 As DataRow = DataTables("累计考勤表").AddNew()
        For Each dc As DataCol In DataTables("当月考勤表2").DataCols
            dr2(dc.Name) = dr1(dc.name)
        Next
    Next
请指导。

--  作者:有点蓝
--  发布时间:2020/6/5 16:07:00
--  
column "合计“ is read only,说明这个列是表达式列,不能直接赋值

    For Each dc As DataCol In DataTables("当月考勤表2").DataCols
        If dc.Expression = ""
            dr2(dc.Name) = dr1(dc.name)
        end if
    Next

--  作者:15666282205
--  发布时间:2020/6/5 17:52:00
--  
老师,类似的问题,我用下面的代码删除数据,如果删除的列是表达式,则数据不能删除,请您指导。也不是都不能删除,如果是直接输入的能删除,通过表达式自动计算的不能删除。比如,直接输入1,能删除;通过表达式和其他列的数据计算出结果为1,则不能删除。
DataTables("当月考勤表2").ReplaceFor("D4_中班", Nothing)
[此贴子已经被作者于2020/6/5 17:54:08编辑过]

--  作者:有点蓝
--  发布时间:2020/6/6 8:38:00
--  
都说表达式列不能直接赋值的,也就改不了。表达式列的数据都是通过表达式自动计算的,不需要也无法手工更改数据