public override void Execute(SingleChoiceActionExecuteEventArgs args) { base.Execute(args); if (this.shortcut == null) { return; } View view = args.Action.Application.ProcessShortcut(this.shortcut); ListView listView = view as ListView; if (listView != null) { string backFilterCriteria = ((ViewMenuItem)args.SelectedChoiceActionItem).Model.BackFilterCriteria; if (!string.IsNullOrEmpty(backFilterCriteria) && listView.CollectionSource.CanApplyCriteria) { CriteriaOperator criteriaOperator = CriteriaOperator.Parse(backFilterCriteria, new object[0]); LocalizedCriteriaWrapper localizedCriteriaWrapper = new LocalizedCriteriaWrapper(listView.ObjectTypeInfo.Type, criteriaOperator); if (localizedCriteriaWrapper.EditableParameters.Count > 0) { string message = localizedCriteriaWrapper.EditableParameters.Keys.Aggregate("Cannot process editable parameters:\n", (string current, string parameterName) => current + string.Format("'@{0}'\n", parameterName)); throw new InvalidOperationException(message); } localizedCriteriaWrapper.UpdateParametersValues(); listView.CollectionSource.Criteria["BackFilterCriteria"] = criteriaOperator; } } args.ShowViewParameters.CreatedView = view; args.ShowViewParameters.TargetWindow = TargetWindow.Current; }
protected override void ShowNavigationItem(SingleChoiceActionExecuteEventArgs e) { if ((e.SelectedChoiceActionItem != null) && e.SelectedChoiceActionItem.Enabled.ResultValue && e.SelectedChoiceActionItem.Id == CreateNewObjectItemId) { Frame workFrame = Application.CreateFrame(TemplateContext.ApplicationWindow); workFrame.SetView(Application.CreateListView( Application.CreateObjectSpace(), typeof(Item), true)); newController = workFrame.GetController<NewObjectViewController>(); if (newController != null) { ChoiceActionItem newObjectItem = FindNewObjectItem(); if (newObjectItem != null) { newController.NewObjectAction.Executed += NewObjectAction_Executed; newController.NewObjectAction.DoExecute(newObjectItem); newController.NewObjectAction.Executed -= NewObjectAction_Executed; e.ShowViewParameters.TargetWindow = TargetWindow.Default; e.ShowViewParameters.CreatedView = createdDetailView; //Cancel the default processing for this navigation item. return; } } } //Continue the default processing for other navigation items. base.ShowNavigationItem(e); }
private void singleChoiceActionAssociateSubjectArea_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { string selectedSubjectArea = singleChoiceActionAssociateSubjectArea.SelectedItem.Caption; List<Entity> selectedEntities = new List<Entity>(); List<SubjectArea> subjectAreas = new List<SubjectArea>(); foreach (Entity entity in View.SelectedObjects) { selectedEntities.Add(entity); } foreach (SubjectArea subjectArea in subjectAreaCollection) { foreach (Entity entity in selectedEntities) { if(entity.SubjectArea == subjectArea.Name) { entity.EntitySubjectAreas.Add(subjectArea); subjectArea.SubjectAreaEntities.Add(entity); entity.Session.CommitTransaction(); subjectArea.Session.CommitTransaction(); } } } }
void IoActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) { if (ReferenceEquals(singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data, "export")) { ShowSerializationView(singleChoiceActionExecuteEventArgs); } else { Import(singleChoiceActionExecuteEventArgs); } }
void action_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { var data = e.SelectedChoiceActionItem.Data as Type; var space = Application.CreateObjectSpace(); var export = (ExportOperationBase)Activator.CreateInstance(data, space); if (export.ParametersObject != null) { var view = Application.CreateDetailView(space, export.ParametersObject); e.ShowViewParameters.CreatedView = view; e.ShowViewParameters.Context = TemplateContext.PopupWindow; var ctr = new DialogController(); // !! UNSUBSCRIBE AFTERWARDS !! // ctr.AcceptAction.Execute += (io, iie) => { export.ExecuteExchange(); }; e.ShowViewParameters.Controllers.Add(ctr); } }
public override void Execute(SingleChoiceActionExecuteEventArgs args) { if (this.Owner == null) { throw new InvalidOperationException("SingleChoiceAction not found"); } this.Owner.DoExecute(this.ChoiceActionItem); }
private void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){ var gridView = ((WinColumnsListEditor)View.Editor).GridView(); if (e.SelectedChoiceActionItem.Id == ActiveFilter){ gridView.ActiveFilterCriteria = CriteriaOperator.Parse("Contains([Name], 'eXpandFramework')"); } else if (e.SelectedChoiceActionItem.Id == ActiveFilterEnabled){ gridView.ActiveFilterEnabled = !gridView.ActiveFilterEnabled; } }
protected override void CloneObject(SingleChoiceActionExecuteEventArgs args) { base.CloneObject(args); var modelDifferenceObject = args.ShowViewParameters.CreatedView.CurrentObject as ModelDifferenceObject; if (modelDifferenceObject != null) { modelDifferenceObject.DateCreated = DateTime.Now; modelDifferenceObject.Disabled = true; modelDifferenceObject.Name = null; modelDifferenceObject.PersistentApplication = (PersistentApplication) modelDifferenceObject.Session.GetObject(((ModelDifferenceObject)View.CurrentObject).PersistentApplication); } }
private void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){ if (e.SelectedChoiceActionItem.Caption == "LoadModel"){ var modelApplicationBase = ((ModelApplicationBase)Application.Model); var creator = modelApplicationBase.CreatorInstance; var modelApplication = creator.CreateModelApplication(); modelApplication.Id = _parametrizedAction.Value.ToString(); var fileNameTemplate = _parametrizedAction.Value.ToString(); var fileModelStore = new FileModelStore(XpandModuleBase.BinDirectory, fileNameTemplate); fileModelStore.Load(modelApplication); modelApplicationBase.AddLayerBeforeLast(modelApplication); } }
void AssignDataMapActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) { var objectSpace = Application.GetObjectSpaceToShowViewFrom(Frame); if (singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data!=null) { var createObject = objectSpace.CreateObject((Type)singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data); AssignDataMap((IJobDetail)View.CurrentObject, createObject); var detailView = Application.CreateDetailView(objectSpace, createObject, true); singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView = detailView; singleChoiceActionExecuteEventArgs.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow; var dialogController = new DialogController(); dialogController.AcceptAction.Execute += AcceptActionOnExecute; singleChoiceActionExecuteEventArgs.ShowViewParameters.Controllers.Add(dialogController); } }
void import(SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) { ObjectSpace objectSpace = Application.CreateObjectSpace(); object o = objectSpace.CreateObject(TypesInfo.Instance.XmlFileChooserType); singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView = Application.CreateDetailView(objectSpace, o); var dialogController = new DialogController(); dialogController.AcceptAction.Execute += (sender1, args) =>{ var memoryStream = new MemoryStream(); ((IXmlFileChooser)args.CurrentObject).FileData.SaveToStream(memoryStream); new ImportEngine().ImportObjects(memoryStream, new UnitOfWork(objectSpace.Session.DataLayer)); }; singleChoiceActionExecuteEventArgs.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow; singleChoiceActionExecuteEventArgs.ShowViewParameters.Controllers.Add(dialogController); }
private void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){ if (e.SelectedChoiceActionItem.Id == "None"){ Application.Security=new SecurityDummy(); SecuritySystem.SetInstance(Application.Security); // var rootNavigationItems = ((IModelApplicationNavigationItems) Application.Model).NavigationItems; // var modelNavigationItems = rootNavigationItems.Items.GetItems<IModelNavigationItem>(item => item.Items); // var navigationItem = modelNavigationItems.First(item => item.Id=="Default"); // navigationItem.Remove(); // rootNavigationItems.StartupNavigationItem = modelNavigationItems.First(item => item.View == View.Model); // SessionSecurity = null; // Frame.GetController<ShowNavigationItemController>().RecreateNavigationItems(); // Frame.GetController<LogoffController>().LogoffAction.DoExecute(); } }
protected virtual void Import(SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) { var objectSpace = ((XPObjectSpace)Application.CreateObjectSpace()); object o = objectSpace.CreateObject(TypesInfo.Instance.XmlFileChooserType); singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView = Application.CreateDetailView(objectSpace, o); var dialogController = new DialogController { SaveOnAccept = false }; dialogController.AcceptAction.Execute += (sender1, args) => { var memoryStream = new MemoryStream(); var xmlFileChooser = ((IXmlFileChooser)args.CurrentObject); xmlFileChooser.FileData.SaveToStream(memoryStream); new ImportEngine(xmlFileChooser.ErrorHandling).ImportObjects(memoryStream, new XPObjectSpace(XafTypesInfo.Instance, XpandModuleBase.XpoTypeInfoSource, () => new UnitOfWork(objectSpace.Session.DataLayer))); }; ((ISupportConfirmationRequired)Application).ConfirmationRequired += OnConfirmationRequired; singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView.Closed += (sender, eventArgs) => ((ISupportConfirmationRequired)Application).ConfirmationRequired -= OnConfirmationRequired; singleChoiceActionExecuteEventArgs.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow; singleChoiceActionExecuteEventArgs.ShowViewParameters.Controllers.Add(dialogController); }
void ShowSerializationView(SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) { var groupObjectType = XafTypesInfo.Instance.FindBussinessObjectType<ISerializationConfigurationGroup>(); var showViewParameters = singleChoiceActionExecuteEventArgs.ShowViewParameters; var objectSpace = Application.CreateObjectSpace() as ObjectSpace; showViewParameters.TargetWindow = TargetWindow.NewModalWindow; showViewParameters.Context = TemplateContext.View; showViewParameters.CreateAllControllers = true; View view; if (ObjectSpace.FindObject(groupObjectType, null) == null) view = Application.CreateDetailView(objectSpace, objectSpace.CreateObjectFromInterface<ISerializationConfigurationGroup>()); else { view = Application.CreateListView(objectSpace, groupObjectType, true); } showViewParameters.CreatedView = view; AddDialogController(showViewParameters); }
protected virtual void Import(SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) { var objectSpace = ((XPObjectSpace)Application.CreateObjectSpace(TypesInfo.Instance.XmlFileChooserType)); object o = objectSpace.CreateObject(TypesInfo.Instance.XmlFileChooserType); var detailView = Application.CreateDetailView(objectSpace, o); detailView.ViewEditMode=ViewEditMode.Edit; singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView = detailView; var dialogController = new DialogController { SaveOnAccept = false }; dialogController.AcceptAction.Execute += (sender1, args) => { var memoryStream = new MemoryStream(); var xmlFileChooser = ((IXmlFileChooser)args.CurrentObject); xmlFileChooser.FileData.SaveToStream(memoryStream); new ImportEngine(xmlFileChooser.ErrorHandling).ImportObjects(memoryStream, new UnitOfWork(objectSpace.Session.DataLayer)); }; singleChoiceActionExecuteEventArgs.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow; singleChoiceActionExecuteEventArgs.ShowViewParameters.Controllers.Add(dialogController); }
protected void ShowInAnalysis(SingleChoiceActionExecuteEventArgs e) { ObjectSpace os = Application.CreateObjectSpace(); var typeInfoContainer = (ITypeInfoContainer)Application.Modules.Where(@base => typeof(ITypeInfoContainer).IsAssignableFrom(@base.GetType())).Single(); var report = os.GetObjectByKey(typeInfoContainer.TypesInfo.AnalysisType, e.SelectedChoiceActionItem.Data) as IAnalysisInfo; e.ShowViewParameters.CreatedView = Application.CreateDetailView(os, report); e.ShowViewParameters.TargetWindow = TargetWindow.Default; e.ShowViewParameters.Context = TemplateContext.View; e.ShowViewParameters.CreateAllControllers = true; var keys = new ArrayList(); foreach (object selectedObject in View.SelectedObjects) { keys.Add(ObjectSpace.GetKeyValue(selectedObject)); } e.ShowViewParameters.Controllers.Add( new AssignCustomAnalysisDataSourceDetailViewController( new InOperator(ObjectSpace.GetKeyPropertyName(View.ObjectTypeInfo.Type), keys))); }
void PivotSettingsChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) { var objectSpace = ObjectSpaceInMemory.CreateNew(); var type = (Type)singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data; var persistentType = GetPersistentType(type); var pivotOption = objectSpace.CreateObject(persistentType); XPClassInfo classInfo = ((XPObjectSpace)ObjectSpace).Session.GetClassInfo(persistentType); Synchonize(pivotOption, type, classInfo); var showViewParameters = singleChoiceActionExecuteEventArgs.ShowViewParameters; showViewParameters.CreatedView = Application.CreateDetailView(objectSpace, pivotOption, true); showViewParameters.TargetWindow = TargetWindow.NewModalWindow; var dialogController = new DialogController(); dialogController.AcceptAction.Execute += (o, args) => Synchonize(classInfo, type, args.CurrentObject); showViewParameters.Controllers.Add(dialogController); ((DetailView)showViewParameters.CreatedView).ViewEditMode = ViewEditMode.Edit; }
private void actionExcel_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { switch (e.SelectedChoiceActionItem.Data.ToString()) { case "AddPartDetail": using (frmAddPartDetail frm = new frmAddPartDetail()) { frm.session = ((XPObjectSpace)ObjectSpace).Session; frm.ShowDialog(); } break; case "ImportPartDetail": ExcelImportData(); break; case "ExportItemCost": ExportItemCost(); break; default: break; } }
private void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){ switch (e.SelectedChoiceActionItem.Id){ case PopupCriteriaPropertyEditorEx:{ var listView = CreateListView(PopupCriteriaPropertyEditorEx); ConfigParameters(e.ShowViewParameters,listView); } break; case XpandObjectSpaceProvider:{ Verify(() =>ObjectSpace.FindObject(TargetObjectType, CriteriaOperator.Parse("FullText = 'Apostolis Bekiaris'"))); } break; case ColumnFilterChanged:{ var gridView = ((WinColumnsListEditor) ((ListView) View).Editor).GridView(); gridView.ActiveFilterCriteria = CriteriaOperator.Parse("FullText = 'Apostolis Bekiaris'"); ParametrizedAction.Value = gridView.ActiveFilterCriteria; } break; case CriteriaPropertyEditorEx:{ var detailView = CreateDetailView(); ConfigParameters(e.ShowViewParameters, detailView); e.ShowViewParameters.Controllers.Add(Application.CreateController<ShowClauseMenu>()); } break; case CollectionSourceCriteria: Verify(() => { ((ListView)View).CollectionSource.Criteria[CollectionSourceCriteria] = CriteriaOperator.Parse("FullText=?", "Apostolis Bekiaris"); }); break; case XpandGridListEditor:case AdvBandedListEditor:{ ListView listView = CreateListView("FullText_"+e.SelectedChoiceActionItem.Id); ConfigParameters(e.ShowViewParameters, listView); e.ShowViewParameters.Controllers.Add(Application.CreateController<ShowClauseMenu>()); } break; } }
protected override void ModifyModelActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){ if (e.SelectedChoiceActionItem.Id == ModifyModelActionChoiceItemsUpdater.ChangeViewModel){ var showViewParameters = e.ShowViewParameters; var modelDetailView = ((IModelViewConfigurationView)View.Model).ConfigurationView; if (modelDetailView!=null){ var objectSpace = Application.CreateObjectSpace(); var changeViewModel = objectSpace.CreateObject<ModelConfiguration>(); showViewParameters.CreatedView = Application.CreateDetailView(objectSpace, modelDetailView, true, changeViewModel); showViewParameters.TargetWindow = TargetWindow.NewModalWindow; var dialogController = new DialogController(); var viewToConfigure = View; dialogController.Accepting += (o, args) =>{ var modelMemberInfoController = dialogController.Frame.GetController<XpandModelMemberInfoController>(); modelMemberInfoController.SynchronizeModel(viewToConfigure.Model, dialogController.Frame.View.CurrentObject); }; dialogController.Disposed += (o, args) => viewToConfigure.SetModel(viewToConfigure.Model); showViewParameters.Controllers.Add(dialogController); } } }
private void SetTaskAction_Execute(object sender, SingleChoiceActionExecuteEventArgs args) { IObjectSpace objectSpace = View is ListView ? Application.CreateObjectSpace() : View.ObjectSpace; ArrayList objectsToProcess = new ArrayList(args.SelectedObjects); if(args.SelectedChoiceActionItem.ParentItem == setPriorityItem) { foreach(Object obj in objectsToProcess) { DemoTask objInNewObjectSpace = (DemoTask)objectSpace.GetObject(obj); objInNewObjectSpace.Priority = (Priority)args.SelectedChoiceActionItem.Data; } } else if(args.SelectedChoiceActionItem.ParentItem == setStatusItem) { foreach(Object obj in objectsToProcess) { DemoTask objInNewObjectSpace = (DemoTask)objectSpace.GetObject(obj); objInNewObjectSpace.Status = (TaskStatus)args.SelectedChoiceActionItem.Data; } } if(View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View) { objectSpace.CommitChanges(); } if(View is ListView) { objectSpace.CommitChanges(); View.ObjectSpace.Refresh(); } }
protected override void ModifyModelActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){ var choiceActionItem = e.SelectedChoiceActionItem; if (choiceActionItem.Id == ModifyModelActionChoiceItemsUpdater.ResetViewModel){ var modelApplicationBase = (ModelApplicationBase)Application.Model; var modelApplication = modelApplicationBase.CreatorInstance.CreateModelApplication(); modelApplication.Id = modelApplicationBase.LastLayer.Id; new ModelXmlReader().ReadFromModel(modelApplication, modelApplicationBase.LastLayer); var modelViews = ((IModelApplication) modelApplication).Views; if (modelViews != null){ var modelView = modelViews[View.Id]; if (modelView != null){ if (!modelView.IsNewNode()){ modelView.Remove(); ModelApplicationHelper.RemoveLayer(modelApplicationBase); ModelApplicationHelper.AddLayer(modelApplicationBase, modelApplication); } else{ throw new UserFriendlyException("Cannot reset new views"); } } } Frame.GetController<ModelController>().SetView(e.ShowViewParameters); } }
private void ChooseFormattingCulture_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { Application.SetFormattingCulture(Regex.Match(e.SelectedChoiceActionItem.Caption, @"\(([^)]*)", RegexOptions.Singleline | RegexOptions.IgnoreCase).Groups[1].Value); }
/* * protected override void OnDeactivated() { * if (detailViewController != null) { * detailViewController.SaveAction -= new SimpleActionExecuteEventHandler(DetailViewController_Save); * detailViewController.SaveAndNewAction -= new EventHandler<SingleChoiceActionExecuteEventArgs>(DetailViewController_SaveAndNew); * detailViewController.SaveAndCloseAction -= new EventHandler<SimpleActionExecuteEventArgs>(DetailViewController_SaveAndClose); * } * base.OnDeactivated(); * } * * public void DetailViewController_Save(object sender, SimpleActionExecuteEventArgs e) { * * } */ protected override void SaveAndNew(SingleChoiceActionExecuteEventArgs args) { base.SaveAndNew(args); }
private void SwitchProject_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { SwitchProjectCore(e.SelectedChoiceActionItem?.Data as Project); }
private void LookupSetFilterAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { SetFilterAction.DoExecute(e.SelectedChoiceActionItem); }
private void autoRefreshChoiceAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { var item = e.SelectedChoiceActionItem; var value = (Int32)item.Data; setAutoRefresh(value); }
protected override void ShowInReport(SingleChoiceActionExecuteEventArgs e, IReportData reportData) { if (View is DevExpress.ExpressApp.ListView) { DevExpress.Persistent.BaseImpl.ReportData currentReportData = ObjectSpace.GetObject<DevExpress.Persistent.BaseImpl.ReportData>((DevExpress.Persistent.BaseImpl.ReportData)reportData); using (XtraReport report = currentReportData.LoadReport(ObjectSpace)) { string dataFilterCaption = String.Empty; CustomFilterController filterController = Frame.GetController<CustomFilterController>(); if (filterController != null) { var filter = filterController.SetFilterAction.SelectedItem; if (filter != null) dataFilterCaption = filter.Caption; } string gridFilterCaption = String.Empty; ListView view = View as ListView; if (view != null) { GridListEditor listEditor = view.Editor as GridListEditor; if (listEditor != null) { gridFilterCaption = listEditor.GridView.FilterPanelText; //string filterCaption = String.Format("{0}: {1}\n{2}", CaptionHelper.GetLocalizedText("Captions", "Filter"), dataFilterCaption, gridFilterCaption); string reportCapture = CaptionHelper.GetLocalizedText(@"Enums\BuiltInReports", currentReportData.ReportName); ReportCommonMethods.PopulateHeaderLabels(report, reportCapture, dataFilterCaption, gridFilterCaption); // передаем в отчет данные в том виде, как они представленны в GridView // т.е со всеми фильтрами и сортировками report.DataSource = listEditor.GetOrderedObjects(); } } report.ShowPreviewDialog(); } } else if (View is DevExpress.ExpressApp.DetailView) { DevExpress.Persistent.BaseImpl.ReportData currentReportData = ObjectSpace.GetObject<DevExpress.Persistent.BaseImpl.ReportData>((DevExpress.Persistent.BaseImpl.ReportData)reportData); using (XtraReport report = currentReportData.LoadReport(ObjectSpace)) { string reportCapture = CaptionHelper.GetLocalizedText(@"Enums\BuiltInReports", currentReportData.ReportName); ReportCommonMethods.PopulateHeaderLabels(report, reportCapture, String.Empty, String.Empty); CriteriaOperator criteria = CriteriaOperator.Parse("Oid = ?", View.ObjectSpace.GetKeyValue(View.CurrentObject)); report.DataSource = View.ObjectSpace.GetObjects(View.ObjectTypeInfo.Type, criteria); //XRRichText rtfEdit = report.FindControl("ConclusionRichText", true) as XRRichText; //if (rtfEdit != null) //{ // MitsarDataStudio.Module.DC.IExamination examination = View.CurrentObject as MitsarDataStudio.Module.DC.IExamination; // if (examination != null) // rtfEdit.LoadFile(examination.ConclusionFile.RealFileName); //} report.ShowPreviewDialog(); } } else { base.ShowInReport(e, reportData); } }
// private void Session_OnObjectDeleting(object sender, ObjectManipulationEventArgs e) // { // var xpBaseObject = (XPBaseObject) e.Object; // foreach (XPMemberInfo memberInfo in xpBaseObject.ClassInfo.ObjectProperties) // { // object value = memberInfo.GetValue(xpBaseObject); // if (value != null) // xpBaseObject.SetMemberValue("Deleted" + memberInfo.Name, // memberInfo.ReferenceType.KeyProperty.GetValue( // value)); // } // } // /<summary> // / // /<para> // /Updates the Application Model. // / // /</para> // / // /</summary> // / // /<param name="dictionary"> // / A <b>Dictionary</b> object that provides access to the Application Model's nodes. // / // / </param> // public override void UpdateModel(Dictionary dictionary) // { // base.UpdateModel(dictionary); // return; // DictionaryNodeCollection dictionaryNodeCollection = // dictionary.RootNode.GetChildNode(ViewsNodeWrapper.NodeName).GetChildNodes(ListView.InfoNodeName, false); // foreach (DictionaryNode dictionaryNode in dictionaryNodeCollection) // { // DictionaryNode ruleChildNode = dictionaryNode.GetChildNode("ConditionalFormatting").GetChildNode("Rule"); // ruleChildNode.SetAttribute("ID", "deleteRule"); // ruleChildNode.SetAttribute("Criteria", "IsDeleted==true"); // DictionaryNode targetChildNode = ruleChildNode.GetChildNode("Target"); // targetChildNode.SetAttribute("Name", ColorHighlightingTarget.Foreground.ToString()); // targetChildNode.SetAttribute("Color", KnownColor.Red.ToString()); // } // } private void recylcleBinSingleChoiceAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { // ((MSSqlConnectionProvider) ((BaseDataLayer) (View.ObjectSpace.Session.DataLayer)).ConnectionProvider). // RecycleBin = // ((RecycleBinEnum) recylcleBinSingleChoiceAction.SelectedItem.Data); CollectionSourceBase collectionSourceBase = ((ListView) View).CollectionSource; collectionSourceBase.Reload(); collectionSourceBase.ResetCollection(); }
private void ModifyModelActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e) { }
protected abstract void ModifyModelActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e);
void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) { FilterProviderManager.Providers.OfType <ContinentFilterProvider>().Single().FilterValue = singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data; ObjectSpace.Refresh(); }
protected override void New(SingleChoiceActionExecuteEventArgs args) { Application.DetailViewCreating += Application_DetailViewCreating; base.New(args); }
private void singleChoiceAction1_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { }
private void ComprobanteExportAndMailReportAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { if (e.SelectedObjects.Count == 0) { return; } var rutaBase = RutaExpComprobantes; if (string.IsNullOrEmpty(rutaBase)) { throw new UserFriendlyException("No está definida la ruta para exportación de comprobantes"); } var cuentaEmail = Identificadores.GetInstance(ObjectSpace).CuentaEmailFacturacion; if (cuentaEmail == null) { throw new UserFriendlyException("No está definida la cuenta de mail para el envío de comprobantes"); } var plantillaMensaje = Identificadores.GetInstance(ObjectSpace).PlantillaMensajeFacturacion; var plantillaContenido = plantillaMensaje != null ? plantillaMensaje.Contenido : ""; foreach (Comprobante obj in e.SelectedObjects) { var criteria = (CriteriaOperator) new BinaryOperator(View.ObjectTypeInfo.KeyMember.Name, ObjectSpace.GetKeyValue(obj)); var reportData = ObjectSpace.GetObject(( IReportData )e.SelectedChoiceActionItem.Data); var rep = ( XafReport )reportData.LoadReport(ObjectSpace); rep.SetFilteringObject(new LocalizedCriteriaWrapper(View.ObjectTypeInfo.Type, criteria)); var ruta = expandFilename(obj, rutaBase); var fileName = Path.GetFileName(ruta); var ms = new MemoryStream( ); rep.ExportToPdf(ms); var mail = new MailMessage( ); mail.Attachments.Add(new Attachment(ms, fileName, "application/pdf")); var cliente = ObjectSpace.FindObject <Cliente>(new BinaryOperator("Persona.Oid", obj.Destinatario.Oid)); if (cliente == null) { return; } var destinatario = cliente.EmailEnvioFacturacion; if (destinatario == null) { continue; } mail.From = new MailAddress(cuentaEmail.DireccionEmail, cuentaEmail.NombreMostrar); mail.To.Add(new MailAddress(destinatario.Valor, cliente.Persona.Nombre)); mail.CC.Add(new MailAddress("*****@*****.**", "Info (Facturacion)")); mail.Subject = fileName; mail.Body = plantillaContenido; mail.IsBodyHtml = true; cuentaEmail.SendMail(mail); } }
void showInReportAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { if (View.SelectedObjects.Count == 0) { return; } ShowInAnalysis(e); }
private void saSearchObjectActionCore_Execute(object sender, SingleChoiceActionExecuteEventArgs args) { SearchObject(args); }
private void MiniNavigationAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { if (e.CurrentObject == null) { return; } if (MiniNavigationAction.SelectedItem == null) { return; } object currentObj = e.CurrentObject; Frame frame = Frame; View view = View; string path = e.SelectedChoiceActionItem.Id; //if (selId == path) return; String selId = path; if ((view as DetailView) != null & selId == "This") { return; } BaseObject obj = GetObjectOnPathEnd(path, (BaseObject)currentObj); if (obj == null) { DevExpress.XtraEditors.XtraMessageBox.Show( CommonMethods.GetMessage(MiniNavigatorControllerMessages.SHOWING_OBJECT_NOT_DEFINED), messageCaption, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation); return; } Type ChoiceType = (System.Type)(obj.GetType()); //.UnderlyingSystemType; //typeof(object); string ViewID = Application.FindDetailViewId(ChoiceType); // По умолчанию - DetailView // Считывание из модели view, через которое надо показать объект и оно задано IModelView modelView = null; DevExpress.ExpressApp.ListView listView = view as DevExpress.ExpressApp.ListView; DevExpress.ExpressApp.DetailView detailView = view as DevExpress.ExpressApp.DetailView; //if (IsMiniNavigationDefined) { // // Узел в модели // IModelView node = null; // node = View.Model.Application.Views[((listView != null) ? listView.Id : "") + ((detailView != null) ? detailView.Id : "")]; // if (node != null) { // // Перебираем все подузлы // // node.GetNode(1) {ModelListViewFilters} DevExpress.ExpressApp.Model.IModelNode {ModelListViewFilters} // for (int i = 0; i < node.NodeCount; i++) { //IModelMiniNavigations miniNavigationNode = node.GetNode(i) as IModelMiniNavigations; IModelMiniNavigations miniNavigationNode = FindMiniNavigationModel(View); if (miniNavigationNode != null) { foreach (IModelMiniNavigationItem miniNavigationItem in miniNavigationNode.GetNodes <IModelMiniNavigationItem>()) { if (miniNavigationItem.NavigationPath == selId) { modelView = miniNavigationItem.View; break; } } //break; } // } // } //} Frame resultFrame = frame; // Application.CreateFrame("new"); TargetWindow openMode = (TargetWindow)e.SelectedChoiceActionItem.Data; // Сбрасываем состояние списка MiniNavigationAction.SelectedItem = null; MiniNavigationAction.SelectedIndex = 0; // Небольшая разборка с сочетанием значений openMode и типа текущего View - List или Detail - в целях // определения фрейма, в который грузить if (MasterDetailViewFrame != null && (openMode == TargetWindow.Current & (view as ListView) != null & ((frame as NestedFrame) != null | !view.IsRoot))) { // Тогда Current трактуем как корневое окно resultFrame = MasterDetailViewFrame; { //IObjectSpace objectSpace = resultFrame.View.ObjectSpace; IObjectSpace objectSpace = resultFrame.Application.CreateObjectSpace(); // Всё равно предыдущий ObjectSpace теряется в этом случае object representativeObj = objectSpace.GetObject(obj); View dv = null; if (modelView != null) { if ((modelView as IModelDetailView) != null) { ViewID = (modelView as IModelDetailView).Id; dv = resultFrame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj) as DetailView; } else if ((modelView as IModelListView) != null) { ViewID = (modelView as IModelListView).Id; //ListView dv = resultFrame.Application.CreateListView(objectSpace, ChoiceType, true); CollectionSource colSource = new CollectionSource(objectSpace, ChoiceType); if (!colSource.IsLoaded) { colSource.Reload(); } dv = resultFrame.Application.CreateListView((modelView as IModelListView), colSource, true) as ListView; } } else { ViewID = Application.FindDetailViewId(ChoiceType); dv = resultFrame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj) as DetailView; } resultFrame.SetView(dv, true, resultFrame); } return; } // Общий алгоритм { IObjectSpace objectSpace = null; // Анализ того, какой ObjectSpace нужен if ((frame as NestedFrame) != null | !view.IsRoot) { objectSpace = resultFrame.View.ObjectSpace.CreateNestedObjectSpace(); } //objectSpace = resultFrame.View.ObjectSpace.CreateNestedObjectSpace(); if (objectSpace == null) { objectSpace = resultFrame.Application.CreateObjectSpace(); } object representativeObj = objectSpace.GetObject(obj); //ViewID = Application.FindDetailViewId(ChoiceType); //DetailView dv = frame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj); View dv = null; if (modelView != null) { if ((modelView as IModelDetailView) != null) { ViewID = (modelView as IModelDetailView).Id; dv = resultFrame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj) as DetailView; } else if ((modelView as IModelListView) != null) { ViewID = (modelView as IModelListView).Id; //ListView dv = resultFrame.Application.CreateListView(objectSpace, ChoiceType, true); //objectSpace = resultFrame.Application.CreateObjectSpace(); CollectionSource colSource = new CollectionSource(objectSpace, ChoiceType); if (!colSource.IsLoaded) { colSource.Reload(); } dv = resultFrame.Application.CreateListView((modelView as IModelListView), colSource, true) as ListView; } } else { ViewID = Application.FindDetailViewId(ChoiceType); dv = resultFrame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj) as DetailView; } ShowViewParameters svp = new ShowViewParameters(); svp.CreatedView = dv; svp.TargetWindow = openMode; svp.Context = TemplateContext.View; svp.CreateAllControllers = true; e.ShowViewParameters.Assign(svp); } }
private void ImportDataAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { ImportData(e); }
void changeDatabaseAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { SecuritySystem.Instance.Logoff(); HttpContext.Current.Session.Abandon(); WebApplication.Redirect(string.Format("{0}?{1}={2}", FormsAuthentication.DefaultUrl, DatabaseParameterName, (string)e.SelectedChoiceActionItem.Data)); }
private void actionChooseFontSize_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { FontOptions.FontSizes.SelectedFontSize = FontOptions.FontSizes.Where(x => x.Caption == e.SelectedChoiceActionItem.Caption).First(); SetFontSize(); }
private void StartProdOrder(ProdOrder prodOrder, SingleChoiceActionExecuteEventArgs e) { if (prodOrder.ProdRoutes.Count == 0) { DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("此产品({0})还没有定义流程, 所以不能发单", prodOrder.Item.ItemNo), string.Format("生产单 {0}", prodOrder.OrderNo)); return; } if (prodOrder.ProdBoms.Count == 0) { DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("此产品({0})还没有定义Bom, 所以不能发单", prodOrder.Item.ItemNo), string.Format("生产单 {0}", prodOrder.OrderNo)); return; } if (prodOrder.NeedQty - prodOrder.StartQty <= 0) { DialogResult result = DevExpress.XtraEditors.XtraMessageBox.Show("你曾经开始过这张生产单, 请问是否要重覆再开始?", "警告", MessageBoxButtons.YesNo); if (result == DialogResult.No) return; } XPObjectSpace objectSpace = (XPObjectSpace)Application.CreateObjectSpace(); prodOrderStart = objectSpace.CreateObject<ProdOrderStart>(); objectSpace.Committed += new EventHandler(objectSpace_ProdOrderStart); ProdOrder parentProdOrder = objectSpace.Session.GetObjectByKey<ProdOrder>(prodOrder.Oid); prodOrderStart.ProdOrder = parentProdOrder; prodOrderStart.Qty = parentProdOrder.NeedQty - parentProdOrder.StartQty; if (prodOrderStart.Qty < 0) prodOrderStart.Qty = 0; e.ShowViewParameters.CreatedView = Application.CreateDetailView(objectSpace, prodOrderStart); e.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow; e.ShowViewParameters.Context = TemplateContext.PopupWindow; e.ShowViewParameters.CreateAllControllers = true; DialogController dialogController = new DialogController(); e.ShowViewParameters.Controllers.Add(dialogController); }
public override void Execute(SingleChoiceActionExecuteEventArgs args) { bool controllerWasActive = this.Action.Active["Controller active"]; bool handled = false; if (!controllerWasActive) { this.Action.Active["Controller active"] = true; } try { SimpleAction simpleAction = this.Action as SimpleAction; if (simpleAction != null) { simpleAction.DoExecute(); return; } PopupWindowShowAction popupWindowShowAction = this.Action as PopupWindowShowAction; if (popupWindowShowAction != null) { CustomizePopupWindowParamsEventArgs popupWindowParams = popupWindowShowAction.GetPopupWindowParams(); args.ShowViewParameters.Context = popupWindowParams.Context; args.ShowViewParameters.Controllers.Add(popupWindowParams.DialogController); args.ShowViewParameters.CreateAllControllers = true; args.ShowViewParameters.CreatedView = popupWindowParams.View; args.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow; popupWindowParams.View.Closed += (sender, e) => { if (!controllerWasActive) this.Action.Active["Controller active"] = false; }; handled = true; } SingleChoiceAction singleChoiceAction = this.Action as SingleChoiceAction; if (singleChoiceAction != null) { singleChoiceAction.DoExecute(singleChoiceAction.SelectedItem); } } finally { if (!controllerWasActive && !handled) this.Action.Active["Controller active"] = false; } }
private void UpdateProdOrder_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { switch (e.SelectedChoiceActionItem.Data.ToString() ) { case "Calculate": CalculateProdOrder((ProdOrder)e.SelectedObjects[0]); break; case "Cancel": CancelProdOrder((ProdOrder)e.SelectedObjects[0]); break; case "Start": StartProdOrder((ProdOrder)e.SelectedObjects[0], e); break; case "Finish": FinishProdOrder((ProdOrder)e.SelectedObjects[0], e); break; case "Complete": CompleteProdOrder((ProdOrder)e.SelectedObjects[0]); break; case "RouteTransfer": CreateRouteTransfer((ProdOrder)e.SelectedObjects[0], e); break; } }
private void FilteringCriterionListAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { // В зависимости от выбранного пункта вызывается та или иная форма if (detailView == null) { return; } DevExpress.ExpressApp.DC.ITypeInfo objectTypeInfo = detailView.ObjectTypeInfo; XafExtAnalysis currentObject = detailView.CurrentObject as XafExtAnalysis; if (currentObject == null) { return; } // Находим, если задан, фильтр из модели string choiceActionItemFilterString = ""; FilterController fc = Frame.GetController <FilterController>(); ChoiceActionItem choiceActionItem = ((SingleChoiceAction)(fc.Actions["SetFilter"])).SelectedItem; if (choiceActionItem != null) { choiceActionItemFilterString = choiceActionItem.Data.ToString(); } if (e.SelectedChoiceActionItem.Data != null) { IModelDetailView node = e.SelectedChoiceActionItem.Data as IModelDetailView; // Тип объекта-фильтра Type filterObjType = node.ModelClass.TypeInfo.Type; string strCriteria = this.criteriaBuilderString; IObjectSpace objectSpace = frame.Application.CreateObjectSpace(); ICustomFilter objFilter = objectSpace.CreateObject(filterObjType) as ICustomFilter; if (objFilter == null) { return; } objFilter.LV = null; objFilter.DV = detailView; objFilter.objectTypeInfo = objectTypeInfo; objFilter.CriteriaController = this; objFilter.AdditionalCriterionString = choiceActionItemFilterString; //objFilter.Criterion = strCriteria; string DetailViewId = frame.Application.FindDetailViewId(objFilter.GetType()); if (FilterIsShowihg & currentFilterId == DetailViewId) { FilterPanelHide(); return; } currentFilterId = DetailViewId; FilterIsShowihg = true; wp = objFilter as ICustomFilter; if (wp == null) { return; } wp.ClearFilter(); DetailView newView = frame.Application.CreateDetailView(objectSpace, DetailViewId, false, objFilter); newView.CreateControls(); filterPanel.Controls.Clear(); DevExpress.ExpressApp.Win.Layout.XafLayoutControl ctrlFilter = ((DevExpress.ExpressApp.Win.Layout.XafLayoutControl)newView.Control); filterPanel.Controls.Add(ctrlFilter); AnalysisCriterionListAction.SelectedIndex = 0; //FilterPanelShow(100); //FilterPanelShow(GetFilterHight(newView) + 30); // Устанавливаем преднастроенный фильтр, если он определён currentObject.Criteria = currentObject.AdminCriteria; //AnalysisEditorWin analysisEditor = null; //IList<AnalysisEditorWin> analysisEditors = detailView.GetItems<AnalysisEditorWin>(); //if (analysisEditors.Count == 1) { // analysisEditor = analysisEditors[0]; //} //if (analysisEditor != null) { // ChartControl chartControl = ((AnalysisControlWin)analysisEditor.Control).ChartControl; // PivotGridControl pivotGridControl = ((AnalysisControlWin)analysisEditor.Control).PivotGrid; // // Do what you want with the chart and pivot grid controls // pivotGridControl.RefreshData(); // chartControl.RefreshData(); // //pivotGridControl.Update(); //} ExecStandartAction(analysisDataBindController.UnbindDataAction); FilterPanelShow(GetFilterHight(newView) + 30); return; } }
protected abstract void Compile(SingleChoiceActionExecuteEventArgs e);
protected override void ShowNavigationItem(SingleChoiceActionExecuteEventArgs args) { if (args.SelectedChoiceActionItem.Data == null) { base.ShowNavigationItem(args); return; } ViewId = ((DevExpress.ExpressApp.ViewShortcut)(args.SelectedChoiceActionItem.Data)).ViewId; if (string.IsNullOrEmpty(ViewId)) { DevExpress.XtraEditors.XtraMessageBox.Show("Не найдена форма для представления объекта"); return; } IModelDetailView modelDetailView = Application.FindModelView(ViewId) as IModelDetailView; if (modelDetailView == null) { //isPers = true; base.ShowNavigationItem(args); return; } // Знание, является ли объект NonPersisten пока не нужно //isPers = ((IModelDetailView)modelDetailView).AsObjectView.ModelClass.TypeInfo.IsPersistent; /* * // Случай, когда NonPersistent - объект создаём самостоятельно * Frame frame = Frame; * IObjectSpace objectSpace = Application.CreateObjectSpace(); * Type nonPersistentType = ((((((IModelNavigationItem)(args.SelectedChoiceActionItem.Model)).View).AsObjectView).ModelClass).TypeInfo).Type; * object newObj = objectSpace.CreateObject(nonPersistentType); * * // Показываем: * TargetWindow openMode = TargetWindow.Current; * dv = frame.Application.CreateDetailView(objectSpace, ViewId, true, newObj); * //dv = frame.Application.CreateDetailView(objectSpace, newObj); * //frame.SetView(dv); * * //DetailView dv = frame.Application.CreateDetailView(objectSpace, newObj, true); * dv.ViewEditMode = DevExpress.ExpressApp.Editors.ViewEditMode.Edit; * args.ShowViewParameters.Context = TemplateContext.View; * args.ShowViewParameters.CreateAllControllers = true; * args.ShowViewParameters.TargetWindow = openMode; * args.ShowViewParameters.CreatedView = dv; * base.ShowNavigationItem(args); */ // Показываем NonPersistent объект - ошибка!!! Frame frame = Frame; IObjectSpace objectSpace = Application.CreateObjectSpace(); Type nonPersistentType = ((((((IModelNavigationItem)(args.SelectedChoiceActionItem.Model)).View).AsObjectView).ModelClass).TypeInfo).Type; object newObj = objectSpace.CreateObject(nonPersistentType); // Показываем: TargetWindow openMode = TargetWindow.Current; dv = frame.Application.CreateDetailView(objectSpace, ViewId, true, newObj); //dv = frame.Application.CreateDetailView(objectSpace, newObj); //frame.SetView(dv); ShowViewParameters svp = new ShowViewParameters(); svp.CreatedView = dv; svp.TargetWindow = openMode; svp.Context = TemplateContext.View; svp.CreateAllControllers = true; frame.Application.ShowViewStrategy.ShowView(svp, new ShowViewSource(frame, this.ShowNavigationItemAction)); /* * // Показываем обычный Persistent объект - та же ошибка!!! * Frame frame = Frame; * IObjectSpace objectSpace = Application.CreateObjectSpace(); * Type nonPersistentType = typeof(IntecoAG.ERM.CS.Country.csCountry); * object newObj = objectSpace.CreateObject(nonPersistentType); * * // Показываем: * TargetWindow openMode = TargetWindow.Current; * dv = frame.Application.CreateDetailView(objectSpace, "csCountry_DetailView", true, newObj); * //dv = frame.Application.CreateDetailView(objectSpace, newObj); * //frame.SetView(dv); * * ShowViewParameters svp = new ShowViewParameters(); * svp.CreatedView = dv; * svp.TargetWindow = openMode; * svp.Context = TemplateContext.View; * svp.CreateAllControllers = true; * frame.Application.ShowViewStrategy.ShowView(svp, new ShowViewSource(frame, null)); */ }
private void FilteringCriterionListAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) { // Глушим стандартный полнотекстовый поиск standardFilterController.FullTextFilterAction.Enabled[FTS_DO_NOT_ENABLED] = false; ListViewClearFilter.Enabled[DO_NOT_ENABLED] = true; ListViewApplyFilter.Enabled[DO_NOT_ENABLED] = true; // В зависимости от выбранного пункта вызывается та или иная форма //frame = Frame; //view = View; //listView = view as DevExpress.ExpressApp.ListView; if (listView == null) { return; } // Находим, если задан, фильтр из модели string choiceActionItemFilterString = ""; FilterController fc = Frame.GetController <FilterController>(); ChoiceActionItem choiceActionItem = ((SingleChoiceAction)(fc.Actions["SetFilter"])).SelectedItem; if (choiceActionItem != null) { choiceActionItemFilterString = choiceActionItem.Data.ToString(); } if (e.SelectedChoiceActionItem.Id == "CriteriaBuilder") { // Показ формы построения запроса с помощью построителя критериев if (FilterIsShowihg) { if (currentFilterId == "CriteriaBuilder") { FilterPanelHide(); return; } } currentFilterId = "CriteriaBuilder"; FilterIsShowihg = true; // Разблокируем кнопку применения фильтра ListViewApplyFilter.Enabled.Clear(); ListViewApplyFilter.Enabled[DO_NOT_ENABLED] = true; // Тип объекта-фильтра Type filterObjType = typeof(FilteringCriterion); string strCriteria = this.criteriaBuilderString; IObjectSpace objectSpace = frame.Application.CreateObjectSpace(); FilteringCriterion objFilter = objectSpace.CreateObject(filterObjType) as FilteringCriterion; // objectSpace.GetObject(currentObject); if (objFilter == null) { return; } //objFilter.LV = listView; objFilter.objectTypeInfo = objectTypeInfo; //objFilter.CriteriaController = this; objFilter.Criterion = strCriteria; // Остаётся для построителя запросов в форме FilteringCriterion.cs //objFilter.AdditionalCriterionString = choiceActionItemFilterString; wp = objFilter as ICustomFilter; if (wp == null) { return; } string DetailViewId = frame.Application.FindDetailViewId(objFilter.GetType()); DetailView newView = frame.Application.CreateDetailView(objectSpace, DetailViewId, false, objFilter); newView.CreateControls(); filterPanel.Controls.Clear(); DevExpress.ExpressApp.Win.Layout.XafLayoutControl ctrlFilter = ((DevExpress.ExpressApp.Win.Layout.XafLayoutControl)newView.Control); filterPanel.Controls.Add(ctrlFilter); FilteringCriterionListAction.SelectedIndex = 0; FilterPanelShow(130); return; } if (e.SelectedChoiceActionItem.Data != null) { // Показ формы с полями от NonPersistent объекта, через которую формировать критерий поиска, присваивать его // списку и reload() этого списка // Разблокируем кнопку применения фильтра ListViewApplyFilter.Enabled.Clear(); ListViewApplyFilter.Enabled[DO_NOT_ENABLED] = true; IModelDetailView node = e.SelectedChoiceActionItem.Data as IModelDetailView; // Тип объекта-фильтра Type filterObjType = node.ModelClass.TypeInfo.Type; string strCriteria = this.criteriaBuilderString; IObjectSpace objectSpace = frame.Application.CreateObjectSpace(); ICustomFilter objFilter = objectSpace.CreateObject(filterObjType) as ICustomFilter; if (objFilter == null) { return; } //objFilter.LV = listView; objFilter.objectTypeInfo = objectTypeInfo; //objFilter.CriteriaController = this; //objFilter.AdditionalCriterionString = choiceActionItemFilterString; //objFilter.Criterion = strCriteria; string DetailViewId = frame.Application.FindDetailViewId(objFilter.GetType()); if (FilterIsShowihg & currentFilterId == DetailViewId) { FilterPanelHide(); return; } currentFilterId = DetailViewId; FilterIsShowihg = true; wp = objFilter as ICustomFilter; if (wp == null) { return; } DetailView newView = frame.Application.CreateDetailView(objectSpace, DetailViewId, false, objFilter); newView.CreateControls(); filterPanel.Controls.Clear(); DevExpress.ExpressApp.Win.Layout.XafLayoutControl ctrlFilter = ((DevExpress.ExpressApp.Win.Layout.XafLayoutControl)newView.Control); filterPanel.Controls.Add(ctrlFilter); FilteringCriterionListAction.SelectedIndex = 0; //FilterPanelShow(100); FilterPanelShow(GetFilterHight(newView) + 30); return; } }