聚焦行不工作 - Gridview

时间:2011-11-04 12:41:57

标签: vb.net gridview devexpress

我正在使用Dev Express开发一个表单,其中我在视图中有一个带有View的GridControl。

看起来像这样:enter image description here

然后我尝试使用事件ValidatingEditor来验证用户输入。 我尝试这样做:

 Private Sub grvObsAM_Artigos_ValidatingEditor(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs) Handles grvObsAM_Artigos.ValidatingEditor


    Dim row As Integer = Me.grvObsAM_Artigos.FocusedRowHandle

然而这总是让我回复-99999 ... 我开玩笑地用事件中的发件人尝试了另一个解决方案:

 Private Sub grvObsAM_Artigos_ValidatingEditor(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs) Handles grvObsAM_Artigos.ValidatingEditor

    Dim grv As DevExpress.XtraGrid.Views.Grid.GridView = CType(sender, DevExpress.XtraGrid.Views.Grid.GridView)
    Dim row As Integer = grv.FocusedRowHandle

使用第二个解决方案,我设法获得了专注的行句柄。虽然这次工作有效(因为事件是由视图本身触发而我有权访问发件人)但这并不能解决我的问题,因为还有其他事件,其中发件人不是视图,问题仍然存在。 使用Me.grvObsAM_Artigos。“在此处插入任何内容”似乎无法正常工作。

有没有人知道为什么会这样?我错过了什么吗?

此致

1 个答案:

答案 0 :(得分:2)

我认为您的问题实际上是您有几个grvObsAM_Artigos网格视图。每行一个,包含详细信息。因此,您需要使用上面的视图来访问正确的视图。使用:

Dim grv as XtraGrid.Views.Grid.GridView = grvObsAM.GetDetailView(RowHandle, 0)

这应该为您提供所需的gridView的正确实例。每次展开和折叠主行时,都会分别创建和销毁子项。

这应该会给你更多背景。

http://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsGridGridView_GetDetailViewtopic