private ExcelStyleFilterElementOperatorItem CreateLastYearsOperator()
        {
            const string CustomFunctionName = "LastYears";
            var          currentYear        = DateTime.Now.Year;
            ICustomFunctionOperatorBrowsable customFunction = CustomFunctionFactory.Create(CustomFunctionName,
                                                                                           (DateTime date, int threshold) =>
            {
                return(currentYear >= date.Year && currentYear - date.Year <= threshold);
            }
                                                                                           );

            CriteriaOperator.RegisterCustomFunction(customFunction);
            var customFunctionEditSettings = new BaseEditSettings[] {
                new TextEditSettings {
                    MaskType = MaskType.Numeric,
                    Mask     = "D",
                    MaskUseAsDisplayFormat = true,
                    NullText = "Enter the number of years before..."
                }
            };

            return(new ExcelStyleFilterElementOperatorItem(CustomFunctionName, customFunctionEditSettings)
            {
                Caption = "Last Years"
            });
        }
 protected override FilterColumn CreateFilterColumn(string columnCaption, BaseEditSettings editSettings, Type columnType, string fieldName)
 {
     return(new CustomFilterColumn
     {
         ColumnCaption = columnCaption,
         EditSettings = editSettings,
         ColumnType = columnType,
         FieldName = fieldName
     });
 }
        protected override void OnEditSettingsChanged(BaseEditSettings oldValue)
        {
            base.OnEditSettingsChanged(oldValue);

            //Если лукап меняем тип сортировки
            if (EditSettings is CustomGridSimpleLookupEditSettings)
            {
                SortMode = ColumnSortMode.DisplayText;
            }
        }
Пример #4
0
        protected override void SubscribeToSettings(BaseEditSettings settings)
        {
            base.SubscribeToSettings(settings);
            var setts = settings as CustomBaseLookupEditSetting;

            if (setts != null)
            {
                LookUpCodeEditor = setts.LookUpCodeEditor;
            }
        }
Пример #5
0
        void AssignDataSource()
        {
            setRowColumnCountButton.Cursor = Cursors.Wait;
            vList.RecordCount = ((CountInfo)rowCountListBox.SelectedItem).Value;
            vList.ColumnCount = ((CountInfo)columnCountListBox.SelectedItem).Value;
            grid.ItemsSource  = null;
            grid.Columns.Clear();
            grid.Columns.BeginUpdate();
            PropertyDescriptorCollection properties = ((ITypedList)vList).GetItemProperties(null);

            foreach (PropertyDescriptor propertyDescriptor in properties)
            {
                GridColumn column = new GridColumn();
                column.FieldName = propertyDescriptor.Name;
                if (column.FieldName.Contains("Subject"))
                {
                    column.EditSettings = new MemoEditSettings()
                    {
                        PopupWidth       = 300,
                        ShowIcon         = false,
                        MemoTextWrapping = TextWrapping.Wrap,
                        MemoVerticalScrollBarVisibility = ScrollBarVisibility.Auto
                    }
                }
                ;
                if (column.FieldName.Contains("Priority"))
                {
                    column.SortMode = ColumnSortMode.Value;
                }
                if (column.FieldName.Contains("Size"))
                {
                    column.BestFitArea = BestFitArea.Header;
                }
                column.AllowEditing         = ((propertyDescriptor.Name == "ID(1)") ? DefaultBoolean.False : DefaultBoolean.Default);
                column.Header               = ((propertyDescriptor.Name == "ID(1)") ? "ID(1)" : null);
                column.AllowColumnFiltering = ((propertyDescriptor.Name == "ID(1)") ? DefaultBoolean.False : DefaultBoolean.True);
                BaseEditSettings settings = CreateEditSettings(propertyDescriptor.Name);
                if (settings != null)
                {
                    column.EditSettings = settings;
                }
                grid.Columns.Add(column);
            }
            grid.Columns.EndUpdate();
            grid.ItemsSource = vList;
            Dispatcher.BeginInvoke(
                DispatcherPriority.Render,
                new Action(ClearCursorProperty));
        }

        void ClearCursorProperty()
        {
            setRowColumnCountButton.ClearValue(FrameworkElement.CursorProperty);
        }

        BaseEditSettings CreateEditSettings(string propertyName)
        {
            if (propertyName == "ID(1)")
            {
                return new TextEditSettings()
                       {
                           DisplayFormat = "#,0",
                           HorizontalContentAlignment = EditSettingsHorizontalAlignment.Right
                       }
            }
            ;
            if (propertyName.StartsWith("Size"))
            {
                return new TextEditSettings()
                       {
                           Mask     = "## ##0",
                           MaskType = MaskType.Numeric,
                           MaskUseAsDisplayFormat     = true,
                           HorizontalContentAlignment = EditSettingsHorizontalAlignment.Right
                       }
            }
            ;
            if (propertyName.StartsWith("Priority"))
            {
                return(new ComboBoxEditSettings()
                {
                    ItemsSource = DevExpress.Utils.EnumExtensions.GetValues(typeof(Priority)),
                    IsTextEditable = false
                });
            }
            return(null);
        }