首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么让DataGrid中的某一行显示在视窗的第一行

2012-03-11 
如何让DataGrid中的某一行显示在视窗的第一行DataGrid有很多行数据,要几个视窗才能放的下,我希望在我输入

如何让DataGrid中的某一行显示在视窗的第一行
DataGrid有很多行数据,要几个视窗才能放的下,我希望在我输入行号后,该行数据显示在视窗的第一行。
功能有点类似Scroll,但Scroll只能是相对的行数,而不是绝对行数。

[解决办法]
用BookMark属性
[解决办法]
'*******************************************************************
'PURPOSE: 在dgdNodeDisable中检索第一行符合输入的记录
'SUPPOSE:
'EFFECT:
'INPUTS:
'RETURNS: String(a Empty String Or aSafe Err Message String)
'*******************************************************************
Public Function SrchFirstNodeDisable_RationRule_ClothModal_Node() As String
On Error GoTo ErrTrap
SrchFirstNodeDisable_RationRule_ClothModal_Node = " "
If m_rsNodeDisable.State = adStateClosed Then
Exit Function
End If
If m_rsNodeDisable.RecordCount > 0 Then
m_rsNodeDisable.MoveFirst
Else
Exit Function
End If

Dim i As Long

'先删除所有表格标签-------------
If MyApp.dfVntToLng(m_frmRule.dgdNodeDisable.SelBookmarks.Count) > 0 Then
For i = 0 To m_frmRule.dgdNodeDisable.SelBookmarks.Count - 1
Call m_frmRule.dgdNodeDisable.SelBookmarks.Remove(i)
DoEvents
Next i
End If



'找到符合要求的行,设定标签
With m_frmRule.dgdNodeDisable
Set .DataSource = Nothing '界面性能优化:操作记录集时暂时断开绑定
Set m_frmRule.lblDisableID.DataSource = Nothing '界面性能优化:操作记录集时暂时断开绑定
Do While Not m_rsNodeDisable.EOF
If Left(MyApp.dfVntToTrimStr(m_rsNodeDisable!NodeName), MyApp.dfLen(MyApp.dfVntToTrimStr(m_frmRule.txtNodeDisable.Text))) = MyApp.dfVntToTrimStr(m_frmRule.txtNodeDisable.Text) _
Or UCase(Left(MyApp.dfGetWordPy(m_rsNodeDisable!NodeName), MyApp.dfLen(MyApp.dfVntToTrimStr(m_frmRule.txtNodeDisable.Text)))) = UCase(MyApp.dfVntToTrimStr(m_frmRule.txtNodeDisable.Text)) Then
Exit Do
End If
m_rsNodeDisable.MoveNext
DoEvents
Loop
Set .DataSource = m_rsNodeDisable '恢复绑定
Set m_frmRule.lblDisableID.DataSource = m_rsNodeDisable '恢复绑定
Call m_frmRule.dgdNodeDisable.SelBookmarks.Add(m_rsNodeDisable.Bookmark)
End With

Exit Function

ErrTrap:
Select Case MyApp.dfVntToLng(Err.Number)
Case 7005
'由于界面延时产生的这个错误忽略
Case Else
SrchFirstNodeDisable_RationRule_ClothModal_Node = MyApp.dfSemCreate( "mdRationRule_ClothModal_Node.SrchFirstNodeDisable_RationRule_ClothModal_Node ", Err.Number, Err.Description)
End Select
On Error GoTo 0
End Function
[解决办法]
rs.AbsolutePosition = DataGrid1.RowBookmark(你所输入的行号),通过事件触发你可以得到所得到的记录的位置,然后rs(“字段”)出相应的记录即可

热点排行