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); }
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); } }
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); }
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); }
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); }
public static Window CreatePopupWindow(this XafApplication application, bool isMain = true, params Controller[] controllers) => application .CreateWindow(TemplateContext.PopupWindow, controllers, isMain);