コード例 #1
0
        public static Window CreateViewWindow(this XafApplication application, Func <View> viewFactory, params Controller[] controllers)
        {
            var window = application.CreateWindow(TemplateContext.View, controllers, false);

            window.SetView(viewFactory());
            return(window);
        }
コード例 #2
0
ファイル: MasterDetailBuilders.cs プロジェクト: xyyhqq/eXpand
        public void ModifyGridViewInstance(ExpressApp.MasterDetail.Win.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  = (ExpressApp.MasterDetail.Win.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);
            }
        }
コード例 #3
0
ファイル: Synchronizers.cs プロジェクト: xwagner2/eXpand
        PivotGridControl GetPivotGridControl(IGrouping <IModelListView, IModelSeries> grouping)
        {
            var modelListView = grouping.Key;

            if (modelListView != null)
            {
                var objectSpace      = _application.CreateObjectSpace(modelListView.ModelClass.TypeInfo.Type);
                var collectionSource = _application.CreateCollectionSource(objectSpace, modelListView.ModelClass.TypeInfo.Type, modelListView.Id);
                var listView         = _application.CreateListView(modelListView, collectionSource, true);
                var window           = _application.CreateWindow(TemplateContext.View, null, true, false);
                window.SetView(listView);
                return(((PivotGridListEditor)listView.Editor).PivotGridControl);
            }
            return(null);
        }
コード例 #4
0
ファイル: MockExtensions.cs プロジェクト: xwagner2/eXpand
        public static void XafApplicationInstance(this IFaker faker, Action <XafApplication> action, Func <IList <Type> > func, Action <DetailView> viewAction, Action <Window> windowAction, params Controller[] controllers)
        {
            var            dataSet       = new DataSet();
            IObjectSpace   XPObjectSpace = ObjectSpaceInMemory.CreateNew(dataSet);
            XafApplication application   = Isolate.Fake.XafApplicationInstance(func, dataSet, controllers);

            action.Invoke(application);
            application.ShowViewStrategy = new MdiShowViewStrategy(application);
            object o          = XPObjectSpace.CreateObject(func.Invoke().ToList().First());
            var    detailView = application.CreateDetailView(XPObjectSpace, o);

            viewAction.Invoke(detailView);
            var window = application.CreateWindow(TemplateContext.View, controllers, true);

            windowAction.Invoke(window);
            window.SetView(detailView);
        }
コード例 #5
0
            void ITemplate.InstantiateIn(Control container)
            {
                var    templateContainer = (GridViewPreviewRowTemplateContainer)container;
                object obj        = templateContainer.Grid.GetRow(templateContainer.VisibleIndex);
                var    detailView = _xafApplication.CreateDetailView(_objectSpace, _modelListViewPreviewRowDetailView.PreviewRowDetailView, false, obj);

                if (_controllerTypes == null || _controllerTypes.Any())
                {
                    Collection <Controller> controllers = null;
                    if (_controllerTypes != null)
                    {
                        controllers = new Collection <Controller>(_controllerTypes.Select(o => o()).Cast <Controller>().ToList());
                    }
                    _window = _xafApplication.CreateWindow(TemplateContext.View, controllers, controllers == null, true);
                    _window.SetView(detailView);
                }
                detailView.CreateControls();
                templateContainer.Controls.Add((Control)detailView.Control);
            }
コード例 #6
0
 public static Window CreatePopupWindow(this XafApplication application, bool isMain = true, params Controller[] controllers) => application
 .CreateWindow(TemplateContext.PopupWindow, controllers, isMain);