Foxtable(狐表)用户栏目专家坐堂 → 请教删除行


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

主题:请教删除行

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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
请教删除行  发帖心情 Post By: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 & "秒")

有何办法提高效率?



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


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110494 积分:562348 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/7 21:12:00 [只看该作者]

我测试不到1秒,请上传实例测试

 回到顶部