Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:请教删除行

1楼
hbhb 发表于:2023/10/7 21:01:00
大师:下面的代码删除800多行为何要14多秒?
SystemReady = False
Try
Dim hjh As New List(Of Row)
    For n As Integer = tbb.Rows.Count - 1 To 0 Step - 1
        If tbb.Rows(n).DataRow.RowState = DataRowState.Added Then
            '            tbb.Rows(n).Delete
            hjh.Add(tbb.Rows(n))
        End If 
    Next

  For Each r As Row In hjh
      r.Delete
  Next 
Catch ex As Exception
    MessageBox.Show("追加数据失败") 
End Try
SystemReady = True
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")

有何办法提高效率?


2楼
hbhb 发表于:2023/10/7 21:03:00
Dim tbb29 As WinForm.Table = Forms("frm").Controls("Table29")
Dim tbb As Table
tbb = tbb29.Table
Dim st As Date = Date.Now
SystemReady = False
Try
Dim hjh As New List(Of Row)
    For n As Integer = tbb.Rows.Count - 1 To 0 Step - 1
        If tbb.Rows(n).DataRow.RowState = DataRowState.Added Then
            '            tbb.Rows(n).Delete
            hjh.Add(tbb.Rows(n))
        End If 
    Next

  For Each r As Row In hjh
      r.Delete
  Next 
Catch ex As Exception
    MessageBox.Show("追加数据失败") 
End Try
SystemReady = True
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")
3楼
有点蓝 发表于:2023/10/7 21:12:00
我测试不到1秒,请上传实例测试
共3 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01953 s, 2 queries.