以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何在已知列后面插入一个新列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84624)

--  作者:hyowl
--  发布时间:2016/5/5 22:25:00
--  如何在已知列后面插入一个新列
"成绩总表“中已有”语文“,”数学“,”英语“,”物理“,”化学“,”总分“数据列。
如何自动在这些列的后面插入一个名次列,如在”语文“列后面插入列”语文名次“,”数学“列后面插入列”数学名次“……,该如何编写程序?

--  作者:大红袍
--  发布时间:2016/5/5 22:34:00
--  
Dim cs() As String = {"第二列", "第三列", "第四列"}
Dim t As Table = Tables("表C")
For Each c As String In cs
    t.DataTable.DataCols.Add(c & "_名次", Gettype(Integer))
    t.cols(c & "_名次").Move(t.cols(c).Index+1)
    t.cols(c).Caption = c & "_分数"
Next

--  作者:客人
--  发布时间:2016/5/6 10:42:00
--  
以下是引用大红袍在2016/5/5 22:34:00的发言:
Dim cs() As String = {"第二列", "第三列", "第四列"}
Dim t As Table = Tables("表C")
For Each c As String In cs
    t.DataTable.DataCols.Add(c & "_名次", Gettype(Integer))
    t.cols(c & "_名次").Move(t.cols(c).Index+1)
    t.cols(c).Caption = c & "_分数"
Next

谢谢,如果要先判断一下这一列是否存在,已经存在就不用增加了,不存在再增加,要加什么语句?
  If t.DataTable.DataCols.Contains(c & "_名次") Then

上面这个语句是存在是再执行,怎么用?
--  作者:大红袍
--  发布时间:2016/5/6 10:46:00
--  
Dim cs() As String = {"第二列", "第三列", "第四列"}
Dim t As Table = Tables("表C")
For Each c As String In cs
    If t.DataTable.DataCols.contains(c & "_名次") = False
        t.DataTable.DataCols.Add(c & "_名次", Gettype(Integer))
        t.cols(c & "_名次").Move(t.cols(c).Index+1)
    End If
    t.cols(c).Caption = c & "_分数"
Next