public void ModifyGridViewInstance(IMasterDetailColumnView masterGridView, int rowHandle, int relationIndex, IModelListView masterModelListView, List<MasterDetailRuleInfo> masterDetailRules) { var modelDetailRelationCalculator = new ModelDetailRelationCalculator(masterModelListView, masterGridView, masterDetailRules); bool isRelationSet = modelDetailRelationCalculator.IsRelationSet(rowHandle, relationIndex); if (isRelationSet) { IModelListView childModelListView = modelDetailRelationCalculator.GetChildModelListView(rowHandle, relationIndex); Window window = _xafApplication.CreateWindow(TemplateContext.View, null, true, false); ListView listView = GetListView(modelDetailRelationCalculator, rowHandle, relationIndex, childModelListView); var detailXafGridView = (IMasterDetailColumnView)masterGridView.GetDetailView(rowHandle, relationIndex); ((IColumnViewEditor)listView.Editor).CustomGridViewCreate += (o, eventArgs) => { ((IColumnViewEditor)o).DataSource = detailXafGridView.DataSource; eventArgs.Handled = true; eventArgs.GridView = (DevExpress.XtraGrid.Views.Base.ColumnView)detailXafGridView; eventArgs.GridControl.DataSource = detailXafGridView.DataSource; }; EventHandler[] listViewOnControlsCreated = { null }; listViewOnControlsCreated[0] = (sender, args) => { detailXafGridView.MasterFrame = masterGridView.MasterFrame ?? _masterFrame; detailXafGridView.Window = window; detailXafGridView.GridControl = masterGridView.GridControl; listView.ControlsCreated -= listViewOnControlsCreated[0]; }; listView.ControlsCreated += listViewOnControlsCreated[0]; ((PropertyCollectionSource)listView.CollectionSource).MasterObject = masterGridView.GetRow(rowHandle); window.SetView(listView); } }
public void ModifyGridViewInstance(IMasterDetailColumnView masterGridView, int rowHandle, int relationIndex, IModelListView masterModelListView, List <MasterDetailRuleInfo> masterDetailRules) { var modelDetailRelationCalculator = new ModelDetailRelationCalculator(masterModelListView, masterGridView, masterDetailRules); bool isRelationSet = modelDetailRelationCalculator.IsRelationSet(rowHandle, relationIndex); if (isRelationSet) { IModelListView childModelListView = modelDetailRelationCalculator.GetChildModelListView(rowHandle, relationIndex); Window window = _xafApplication.CreateWindow(TemplateContext.View, null, true, false); ListView listView = GetListView(modelDetailRelationCalculator, rowHandle, relationIndex, childModelListView); var detailXafGridView = (IMasterDetailColumnView)masterGridView.GetDetailView(rowHandle, relationIndex); ((IColumnViewEditor)listView.Editor).CustomGridViewCreate += (o, eventArgs) => { ((IColumnViewEditor)o).DataSource = detailXafGridView.DataSource; eventArgs.Handled = true; eventArgs.GridView = (DevExpress.XtraGrid.Views.Base.ColumnView)detailXafGridView; eventArgs.GridControl.DataSource = detailXafGridView.DataSource; }; EventHandler[] listViewOnControlsCreated = { null }; listViewOnControlsCreated[0] = (sender, args) => { detailXafGridView.MasterFrame = masterGridView.MasterFrame ?? _masterFrame; detailXafGridView.Window = window; detailXafGridView.GridControl = masterGridView.GridControl; listView.ControlsCreated -= listViewOnControlsCreated[0]; }; listView.ControlsCreated += listViewOnControlsCreated[0]; ((PropertyCollectionSource)listView.CollectionSource).MasterObject = masterGridView.GetRow(rowHandle); window.SetView(listView); } }
void CloseNestedWindow(IMasterDetailColumnView baseView) { var window = baseView.Window as WinWindow; if (window != null && window.Form != null) { window.Form.Close(); } }
void CloseNestedWindow(IMasterDetailColumnView baseView) { try{ var window = baseView?.Window as WinWindow; window?.Form?.Close(); } catch { // ignored } }
DevExpress.XtraGrid.Views.Base.ColumnView GetLevelDefaultViewCore(IModelListView masterModelListView, IMasterDetailColumnView masterGridView, int rowHandle, int relationIndex, List<MasterDetailRuleInfo> masterDetailRules) { var modelDetailRelationCalculator = new ModelDetailRelationCalculator(masterModelListView, masterGridView, masterDetailRules); bool isRelationSet = modelDetailRelationCalculator.IsRelationSet(rowHandle, relationIndex); if (isRelationSet) { IModelListView childModelListView = modelDetailRelationCalculator.GetChildModelListView(rowHandle, relationIndex); ListView listView = GetListView(modelDetailRelationCalculator, rowHandle, relationIndex, childModelListView); listView.CreateControls(); return ((IColumnViewEditor)listView.Editor).ColumnView; } return null; }
Frame GetFrame(IMasterDetailColumnView columnView) { return(columnView != null && columnView.Window != null ? columnView.Window : Frame); }
Controller Controller(Controller sender, IMasterDetailColumnView xpandXafGridView) { return(xpandXafGridView.Window.Controllers.Cast <Controller>().FirstOrDefault(controller1 => sender.GetType() == controller1.GetType())); }
public DevExpress.XtraGrid.Views.Base.ColumnView GetLevelDefaultView(IMasterDetailColumnView masterGridView, int rowHandle, int relationIndex, IModelListView masterModelListView, List<MasterDetailRuleInfo> masterDetailRules) { return GetLevelDefaultViewCore(masterModelListView, masterGridView, rowHandle, relationIndex, masterDetailRules); }
public ModelDetailRelationCalculator(IModelListView modelListView, IMasterDetailColumnView xafGridView, List<MasterDetailRuleInfo> masterDetailRules) { _modelListView = modelListView; _xafGridView = xafGridView; _masterDetailRules = masterDetailRules; }
public static void AssignMasterDetail(this IMasterDetailColumnView columnView, IMasterDetailColumnView target) { target.Window = columnView.Window; target.MasterFrame = columnView.MasterFrame; }
public static bool IsDetailView(this IMasterDetailColumnView columnView, IColumnViewEditor editor) { return(columnView != ((WinColumnsListEditor)editor).Grid.MainView); }
public ModelDetailRelationCalculator(IModelListView modelListView, IMasterDetailColumnView xafGridView, List <MasterDetailRuleInfo> masterDetailRules) { _modelListView = modelListView; _xafGridView = xafGridView; _masterDetailRules = masterDetailRules; }
DevExpress.XtraGrid.Views.Base.ColumnView GetLevelDefaultViewCore(IModelListView masterModelListView, IMasterDetailColumnView masterGridView, int rowHandle, int relationIndex, List <MasterDetailRuleInfo> masterDetailRules) { var modelDetailRelationCalculator = new ModelDetailRelationCalculator(masterModelListView, masterGridView, masterDetailRules); bool isRelationSet = modelDetailRelationCalculator.IsRelationSet(rowHandle, relationIndex); if (isRelationSet) { IModelListView childModelListView = modelDetailRelationCalculator.GetChildModelListView(rowHandle, relationIndex); ListView listView = GetListView(modelDetailRelationCalculator, rowHandle, relationIndex, childModelListView); listView.CreateControls(); return(((IColumnViewEditor)listView.Editor).ColumnView); } return(null); }
public DevExpress.XtraGrid.Views.Base.ColumnView GetLevelDefaultView(IMasterDetailColumnView masterGridView, int rowHandle, int relationIndex, IModelListView masterModelListView, List <MasterDetailRuleInfo> masterDetailRules) { return(GetLevelDefaultViewCore(masterModelListView, masterGridView, rowHandle, relationIndex, masterDetailRules)); }
Frame GetFrame(IMasterDetailColumnView columnView) { return(columnView.Window ?? Frame); }