protected override void OnViewControlsCreated() { base.OnViewControlsCreated(); var columnViewEditor = View.Editor as IColumnViewEditor; if (columnViewEditor != null) { SyncronizeDataSourceWithCriteria(columnViewEditor); if (IsMasterDetail()) { var masterDetailColumnView = (IMasterDetailColumnView)(columnViewEditor).ColumnView; Frame.GetController <ShowNavigationItemController>().ShowNavigationItemAction.Executing += ShowNavigationItemActionOnExecuting; var grid = columnViewEditor.Grid; grid.ViewRegistered += Grid_ViewRegistered; grid.ViewRemoved += Grid_ViewRemoved; masterDetailColumnView.MasterRowGetRelationCount += ViewOnMasterRowGetRelationCount; masterDetailColumnView.MasterRowGetRelationName += ViewOnMasterRowGetRelationName; masterDetailColumnView.MasterRowGetRelationDisplayCaption += MasterRowGetRelationDisplayCaption; masterDetailColumnView.MasterRowGetChildList += ViewOnMasterRowGetChildList; masterDetailColumnView.MasterRowEmpty += ViewOnMasterRowEmpty; masterDetailColumnView.MasterRowGetLevelDefaultView += ViewOnMasterRowGetLevelDefaultView; masterDetailColumnView.MasterRowCollapsing += GridViewOnMasterRowCollapsing; grid.FocusedViewChanged += GridOnFocusedViewChanged; } } }
protected override void OnDeactivated() { base.OnDeactivated(); Frame.GetController <ShowNavigationItemController>().ShowNavigationItemAction.Executing -= ShowNavigationItemActionOnExecuting; var editor = View.Editor as WinColumnsListEditor; if (editor == null) { return; } var columnView = editor.ColumnView as DevExpress.XtraGrid.Views.Grid.GridView; var masterDetailColumnView = columnView as IMasterDetailColumnView; var columnViewEditor = editor as IColumnViewEditor; if (editor.Grid != null) { editor.Grid.ViewRegistered -= Grid_ViewRegistered; editor.Grid.ViewRemoved -= Grid_ViewRemoved; if (columnViewEditor != null && masterDetailColumnView != null && !masterDetailColumnView.IsDetailView(columnViewEditor)) { var gridViews = editor.Grid.Views.OfType <IMasterDetailColumnView>().ToList(); for (int i = gridViews.Count - 1; i > -1; i--) { var xpandXafGridView = gridViews[i]; CloseNestedWindow(xpandXafGridView); } } } if (columnView != null) { columnView.MasterRowCollapsing -= GridViewOnMasterRowCollapsing; columnView.MasterRowGetRelationCount -= ViewOnMasterRowGetRelationCount; columnView.MasterRowGetRelationName -= ViewOnMasterRowGetRelationName; columnView.MasterRowGetRelationDisplayCaption -= MasterRowGetRelationDisplayCaption; columnView.MasterRowGetChildList -= ViewOnMasterRowGetChildList; columnView.MasterRowEmpty -= ViewOnMasterRowEmpty; columnView.MasterRowGetLevelDefaultView -= ViewOnMasterRowGetLevelDefaultView; if (columnViewEditor != null && masterDetailColumnView != null && masterDetailColumnView.IsDetailView(columnViewEditor)) { View.CollectionSource.CriteriaApplied -= CollectionSourceOnCriteriaApplied; } View.Closing -= ViewOnClosing; } }