以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]上移行与下移行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160494) |
-- 作者:2425004926 -- 发布时间:2021/2/4 15:27:00 -- [求助]上移行与下移行 上移行和下移行,一次移很多行,为什么速度那么慢,要等好长时间,而直接用系统里的表上移和下移速度却非常快? With Tables(e.form.name & "_Table1") Select Case e.Sender.NameCase "ButtonMoveUp" \'上移行 .StopRedraw Dim i As Integer Dim i1 As Integer = .TopRow \'最上行位置 Dim i2 As Integer = .BottomRow \'最末行位置 If i1 >= 1 Then \'如不判断,最上一行会往下跑 For i = i1 To i2 .Rows(i).Move(i-1) Next .Select(i1-1,.Cols(.colsel).index,i2-1,.Cols(.colsel).index) Else .Select(i1,.Cols(.colsel).index,i2,.Cols(.colsel).index) End If .ResumeRedraw .Focus .Save() Case "ButtonMoveDown" \'下移行 .StopRedraw Dim i As Integer Dim i1 As Integer = .TopRow \'最上行位置 Dim i2 As Integer = .BottomRow \'最末行位置 If i2 <= .Rows.Count -2 Then For i = i2 To i1 Step -1 .Rows(i).Move(i+1) Next .Select(i1+1,.Cols(.colsel).index,i2+1,.Cols(.colsel).index) Else .Select(i1,.Cols(.colsel).index,i2,.Cols(.colsel).index) End If .ResumeRedraw .Focus .Save() |
-- 作者:有点蓝 -- 发布时间:2021/2/4 15:31:00 -- 估计是有表事件,表达式计算等影响。把这个表所有事件去掉测试慢不慢? |
-- 作者:2425004926 -- 发布时间:2021/2/4 16:03:00 -- 我看了,表里没有任何事件 我把 \'.Focus \'.Save() 删除不用,速度确实快了
|