以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  筛选  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=14275)

--  作者:姗姗来迟
--  发布时间:2011/11/14 13:41:00
--  筛选
此表是有一个数据列和A到J10个列组成   但是这个A到J10个列里面有的有数 有的没有数  当单击某一行的数据列时就自动把A到J10个列里面有数据的排在前面而没有数据的就排到后面
--  作者:姗姗来迟
--  发布时间:2011/11/14 13:41:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:czy
--  发布时间:2011/11/14 14:29:00
--  

这有什么意义?

 

Dim t As Table = Tables("表A")
t.StopRedraw
Dim r As Row = t.Current
Dim i As Integer
For Each c As Col In t.Cols
    If r.IsNull(c.Name) = False Then
        t.Cols(c.Name).Move(i)
        i = i+1
    End If
Next
t.ResumeRedraw

[此贴子已经被作者于2011-11-14 14:29:23编辑过]

--  作者:姗姗来迟
--  发布时间:2011/11/14 15:09:00
--  

请问这个代码写在表的什么位置呀


--  作者:狐狸爸爸
--  发布时间:2011/11/14 15:36:00
--  

做个按钮,写在按钮的Click事件代码中。


--  作者:姗姗来迟
--  发布时间:2011/12/10 7:52:00
--  
以下是引用czy在2011-11-14 14:29:00的发言:

这有什么意义?

 

Dim t As Table = Tables("表A")
t.StopRedraw
Dim r As Row = t.Current
Dim i As Integer
For Each c As Col In t.Cols
    If r.IsNull(c.Name) = False Then
        t.Cols(c.Name).Move(i)
        i = i+1
    End If
Next
t.ResumeRedraw

[此贴子已经被作者于2011-11-14 14:29:23编辑过]

这行代码用了一段时间我想还能不能在提高一下就是比如说我有10个列 我只需要筛选出后面5个列的内容 前面5个列不需要动如何实现


--  作者:姗姗来迟
--  发布时间:2011/12/10 7:56:00
--  

我用了冻结列与锁定列都不管用


--  作者:czy
--  发布时间:2011/12/10 10:56:00
--  
以下是引用姗姗来迟在2011-12-10 7:52:00的发言:

这行代码用了一段时间我想还能不能在提高一下就是比如说我有10个列 我只需要筛选出后面5个列的内容 前面5个列不需要动如何实现

 

Dim t As Table = Tables("表A")
Dim r As Row = t.Current
Dim n As Integer = 6
For i As Integer = 6 To t.cols.count -1
    If r.IsNull(t.cols(i).name) = False
        t.Cols(t.cols(i).name).Move(n)
        n = n + 1
    End If
Next