Esempio n. 1
0
        private void ClearAnalusisFilter_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            if (detailView == null)
            {
                return;
            }

            XafExtAnalysis currentObject = detailView.CurrentObject as XafExtAnalysis;

            if (currentObject == null)
            {
                return;
            }

            // Устанавливаем преднастроенный фильтр, если он определён
            currentObject.Criteria = currentObject.AdminCriteria;

            // Скрываем саму кнопку
            AnalysisCriterionListAction.Active[DO_NOT_ACTIVE] = true;

            // Разблокируем две кнопки
            AnalysisCriterionListAction.Enabled.Clear();
            AnalysisCriterionListAction.Enabled[DO_NOT_ENABLED] = true;


            AnalysisEditorWin         analysisEditor  = null;
            IList <AnalysisEditorWin> analysisEditors = detailView.GetItems <AnalysisEditorWin>();

            if (analysisEditors.Count == 1)
            {
                analysisEditor = analysisEditors[0];
            }

            // Скрытие панели с фильтром
            FilterPanelHide();
            currentFilterId = "";

            if (analysisDataBindController != null)
            {
                if (analysisEditor.IsDataSourceReady)
                {
                    ExecStandartAction(analysisDataBindController.UnbindDataAction);
                }
            }

            if (wp == null)
            {
                return;
            }
            wp.ClearFilter();
        }
Esempio n. 2
0
        private void ListViewClearFilter_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            // Разблокируем стандартный полнотекстовый поиск
            standardFilterController.FullTextFilterAction.Enabled[FTS_DO_NOT_ENABLED] = true;
            // Скрываем саму кнопку
            //FilteringCriterionListActionClose1.Active[DO_NOT_ACTIVE] = false;
            FilteringCriterionListAction.Active[DO_NOT_ACTIVE] = true;

            // Разблокируем две кнопки
            FilteringCriterionListAction.Enabled.Clear();
            FilteringCriterionListAction.Enabled[DO_NOT_ENABLED] = true;

            ListViewApplyFilter.Enabled.Clear();
            ListViewApplyFilter.Enabled[DO_NOT_ENABLED] = false;

            DevExpress.ExpressApp.ListView listView = View as DevExpress.ExpressApp.ListView;
            listView.CollectionSource.Criteria.Clear();

            if (wp != null)
            {
                wp.ClearFilter();
            }

            // Очищаем полнотекстовый поиск
            standardFilterController.FullTextFilterAction.DoExecute("");

            //if (wp == null) return;
            //wp.ClearFilter();
            ////listView.CollectionSource.Criteria.Clear();
            //listView.CollectionSource.Reload();   // Не нужно в связи standardFilterController.FullTextFilterAction.DoExecute(null)?

            // Скрытие панели с фильтром
            FilterPanelHide();
            currentFilterId = "";
        }
Esempio n. 3
0
        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;
            }
        }