Foxtable(狐表)用户栏目专家坐堂 → [求助]副本表列的Remove


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

主题:[求助]副本表列的Remove

帅哥哟,离线,有人找我吗?
张松波
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:86 积分:877 威望:0 精华:0 注册:2018/2/3 13:10:00
[求助]副本表列的Remove  发帖心情 Post By:2021/12/7 1:45:00 [显示全部帖子]

窗口1里有一个table控件,绑定到[表A](这个表A有很多列)副本表设为true, 加载的是从后台MSSQL筛选[表A]出来的某些行,用以下代码无法移除要移除的行。如果副本表设为False就可以。请帮看下怎么回事,谢谢。
代码写在窗口1的 AfterLoad 里的。
Dim t As Table = e.Form.Controls("Table1").Table
Dim zds() As String = {"姓名","性别","年龄"}
For i As Integer = 0 To zds.Length - 1
       If t.Cols.Contains(zds(i)) = False Then
            t.Cols.Remove(zds(i))
       End If
Next

如果用最原始的办法把代码改为如下,即使是副本表也起作用。不知道是什么原因。
Dim t As Table = e.Form.Controls("Table1").Table
If t.Cols.Contains("备注") Then
       t.Cols.Remove("备注","身份证号",--------等等)
End If

就是因为列太多了,想用最偷懒的办法,才选择最上边的代码。
[此贴子已经被作者于2021/12/7 1:46:17编辑过]

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


加好友 发短信
等级:幼狐 帖子:86 积分:877 威望:0 精华:0 注册:2018/2/3 13:10:00
  发帖心情 Post By:2021/12/7 10:05:00 [显示全部帖子]

是移除除了姓名、性别、年龄的列。我发现我if --  end if 这段写错了,改回来了。现在判断t.cols(i).name的值属不属于Dim zds() As String = {"姓名","性别","年龄"}的元素,请问不用for语句有没有更简单的代码(类似于select语句的IN,一下子就判断出来了的那种)。

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


加好友 发短信
等级:幼狐 帖子:86 积分:877 威望:0 精华:0 注册:2018/2/3 13:10:00
  发帖心情 Post By:2021/12/7 12:07:00 [显示全部帖子]

感谢老师的回复。您的代码好用。看了您的代码我才反应过来,需要从后往前移除。

 回到顶部