Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        void CloseNestedWindow(IMasterDetailColumnView baseView)
        {
            var window = baseView.Window as WinWindow;

            if (window != null && window.Form != null)
            {
                window.Form.Close();
            }
        }
Ejemplo n.º 4
0
 void CloseNestedWindow(IMasterDetailColumnView baseView)
 {
     try{
         var window = baseView?.Window as WinWindow;
         window?.Form?.Close();
     }
     catch {
         // ignored
     }
 }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 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()));
 }
Ejemplo n.º 8
0
 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;
 }
Ejemplo n.º 10
0
 public static void AssignMasterDetail(this IMasterDetailColumnView columnView, IMasterDetailColumnView target)
 {
     target.Window      = columnView.Window;
     target.MasterFrame = columnView.MasterFrame;
 }
Ejemplo n.º 11
0
 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;
 }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
 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));
 }
Ejemplo n.º 15
0
 Frame GetFrame(IMasterDetailColumnView columnView)
 {
     return(columnView.Window ?? Frame);
 }