我有一个用 VB.NET 编写的应用程序,它生成一个 Infragistics UltraGrid
,其中包含我从 SQL 数据库获得的公司信息。当用户单击一行时,将AfterRowActivate
触发该事件,并在屏幕的下半部分为用户显示更多信息。它已经完成并且运行良好。这是被调用的方法:
Private Sub grdCompany_AfterRowActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles grdCompany.AfterRowActivate
If (Not grdCompany.ActiveRow.IsGroupByRow) Then
If (grdCompany.ActiveRow.Cells("Company_id").Text <> "") Then
FillCompanyAddressGrid()
FillCompanyDetail()
FillChildCompanyGrid()
FillPropertiesGrid()
End If
End If
End Sub
用户倾向于使用箭头键快速滚动网格。因此,该AfterRowActivate
事件每次都会被触发,并且会对数据库进行不必要的查询。我想实现一个延迟,以便在程序开始在数据库中查找更多信息之前,该行必须突出显示大约半秒。但我很难做到这一点。这样做的最佳方法是什么?