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; } }
protected override void SubscribeToSettings(BaseEditSettings settings) { base.SubscribeToSettings(settings); var setts = settings as CustomBaseLookupEditSetting; if (setts != null) { LookUpCodeEditor = setts.LookUpCodeEditor; } }
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); }