Foxtable(狐表)用户栏目专家坐堂 → 如何删除使用add方法增加的临时列


  共有13151人关注过本帖树形打印复制链接

主题:如何删除使用add方法增加的临时列

帅哥哟,离线,有人找我吗?
唐尸三摆手
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
如何删除使用add方法增加的临时列  发帖心情 Post By:2010/11/21 17:15:00 [只看该作者]

Dim StartDate As Date = #12/05/2010# '起始日期
Dim EndDate As Date = #12/25/2010# '截止日期
Dim Count As Integer = (EndDate - StartDate).TotalDays '计算间隔天数
For i As Integer = 0 To Count '增加日期列
      DataTables("gridf").DataCols.Add("dc" & i, Gettype(Double), "", Format(StartDate.AddDays(i),"yyyy-MM-dd"))
Next

图片点击可在新窗口打开查看此主题相关图片如下:screenshot4.jpg
图片点击可在新窗口打开查看

用上述方法增加的临时列,下一次操作如何一次性删除,每次的起始日期和截止日期都不一样的


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/21 21:08:00 [只看该作者]

用代码增加的临时列又不能保存,下次打开自然就没有了。

 

或者增加全局变量,将上一次操作时的起日期和截止日期保存到对应的变量中,下次执行时先删除这些列。


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/11/21 21:16:00 [只看该作者]

试试:

 

Dim StartDate As Date = #12/05/2010# '起始日期
Dim EndDate As Date = #12/25/2010# '截止日期
Dim Count As Integer = (EndDate - StartDate).TotalDays '计算间隔天数

For i As Integer = Count  To 0  Step-1   
      DataTables("gridf").DataCols.delete("dc" & i)
Next

[此贴子已经被作者于2010-11-21 21:18:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/11/21 21:25:00 [只看该作者]

楼主是想模拟甘特图的列标题,他所说的应该不是下次启动时删除,应该是执行某一特定操作后更改所有列名称(刷新),不知道楼主可否考虑用固定的列名称,而通过动态修改列标题来实现。

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/11/21 22:57:00 [只看该作者]

这样不知道有没有后遗症:

 

For i As Integer = DataTables("gridf").datacols.count -1 To 0 Step-1
       DataTables("gridf").DataCols.Delete(Tables("gridf").Cols(i).DataCol.name)
Next


 回到顶部
帅哥哟,离线,有人找我吗?
唐尸三摆手
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2010/11/22 16:05:00 [只看该作者]

 这确实是个实体表,但dc开头的列属于add方法增加的临时列,后来赋予不同的值做标题而已.请教有无方法一次性删除这些dc开头的临时列?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/11/22 16:14:00 [只看该作者]

Dim lst As New List(of String)

For Each c As DataCol in DataTables("XXX").DataCols

     if c.Name.StartsWith("dc") Then

        lst.Add(c.name)

     end if

Next

For Each nm As String in lst

   DataTables("xxx").Datacols.Delete(nm)

next

 


 回到顶部