我使用Dev Express开发一个窗体,其中我有一个视图内的视图GridControl。重点行不工作 - Gridview
它看起来像这样:
我再尝试使用事件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
并使用这第二个解决方案,我设法得到重点行处理。尽管这次工作(因为事件是由视图本身触发的并且我有权访问发件人),但这并不能解决我的问题,因为还有其他事件,其中发件人不是视图,问题仍然存在。 Usign Me.grvObsAM_Artigos。“在此插入任何东西”似乎无法正常工作。
有没有人有任何想法,为什么发生这种情况?我错过了什么吗?
问候,
是的,这是非常有道理的。我真的不觉得自己真的有点惭愧:P但是,我并不完全理解你的代码行,我应该如何得到我正在处理的视图。 – seth
该行代码正在使用主视图中的一行来查找该行masterRow的正确detailGridview。例如,假设您想要访问当前关注的MasterView行的detailView。 MasterGridView.GetVisibleDetailView(MasterGridView.GetFocusedRowHandle,0)如果你有一个特定的例子想要试图访问detailGrid让我知道,我可以尝试给你一个具体的例子。 – Jay
每个主视图行都包含它自己的子视图。为了占用子视图中的项目,您需要首先找到所选的主控行。这就是代码行的功能。它使用主行的选定行句柄选择正确的主行,然后从中抽出详细视图。 –