我使用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
每個主視圖行都包含它自己的子視圖。爲了佔用子視圖中的項目,您需要首先找到所選的主控行。這就是代碼行的功能。它使用主行的選定行句柄選擇正確的主行,然後從中抽出詳細視圖。 –