以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47435)

--  作者:lshshlxsh
--  发布时间:2014/3/10 14:37:00
--  [求助]
For Each dc As DataCol In DataTables("表D").DataCols
    If dc.Name <> "姓名" And dc.Name <> "单据编号" And dc.Name <>"员工编号" Then
        DataTables("表D").DataCols.Delete(dc.name)
    End If
Next
我希望删除除姓名,单击编号,员工编号之外胡列,请问错在哪里?

--  作者:Bin
--  发布时间:2014/3/10 14:39:00
--  
Delete删除通过Add方法增加的临时列。

非ADD增加的临时列是不可这样删除的

--  作者:lshshlxsh
--  发布时间:2014/3/10 14:41:00
--  
请问该怎么删除?其余列名不确定
--  作者:lshshlxsh
--  发布时间:2014/3/10 14:41:00
--  

是通过ADD增加进来的


--  作者:Bin
--  发布时间:2014/3/10 14:44:00
--  
那就不应该出现问题啊.你提示什么错误呢? 上个例子看看.
--  作者:lshshlxsh
--  发布时间:2014/3/10 15:20:00
--  
图片点击可在新窗口打开查看
增加工序或减少工序都可以,但是清空全部选择的工序出现上图错误
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.rar


--  作者:Bin
--  发布时间:2014/3/10 15:50:00
--  
不能再循环中删除列.

修改一下,如下.

Else
    Dim names As new List(of String)
    For Each dc As DataCol In DataTables("表D").DataCols
        If dc.Name <> "姓名" And dc.Name <> "单据编号" And dc.Name <>"员工编号" Then
            names.Add(dc.name)
        End If
    Next
    For Each s As String In names
        DataTables("表D").DataCols.Delete(s)
        
    Next
    MessageBox.Show("至少选择一行")
End If

--  作者:lshshlxsh
--  发布时间:2014/3/10 16:18:00
--  
哦  ,
非常感谢
--  作者:lsy
--  发布时间:2014/3/10 16:49:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:增删临时表列.table