Exemplo n.º 1
0
        protected virtual void OnCustomFilterItemToggleStateChanged(
            object sender,
            StateChangedEventArgs e)
        {
            FilterMenuCustomDateItem menuCustomDateItem = sender as FilterMenuCustomDateItem;

            if (menuCustomDateItem.IsChecked || menuCustomDateItem.FilterDescriptor.Operator != FilterOperator.IsEqualTo || !this.calendarItem.IsChecked)
            {
                return;
            }
            DateTime?nullable = new DateTime?();

            if (menuCustomDateItem.FilterDescriptor.Value is DateTime)
            {
                nullable = new DateTime?((DateTime)menuCustomDateItem.FilterDescriptor.Value);
            }
            else if (menuCustomDateItem.FilterDescriptor.Value is DateTime?)
            {
                nullable = (DateTime?)menuCustomDateItem.FilterDescriptor.Value;
            }
            if (!nullable.HasValue)
            {
                return;
            }
            this.calendarItem.CalendarElement.Calendar.SelectedDates.Remove(nullable.Value);
            if (this.calendarItem.CalendarElement.Calendar.SelectedDates.Count != 0)
            {
                return;
            }
            this.calendarItem.IsChecked = false;
        }
Exemplo n.º 2
0
        protected virtual void OnButtonOkClick(EventArgs e)
        {
            CompositeFilterDescriptor filterDescriptor1 = new CompositeFilterDescriptor();

            filterDescriptor1.PropertyName    = this.DataColumn.Name;
            filterDescriptor1.LogicalOperator = FilterLogicalOperator.Or;
            if (this.calendarItem.IsChecked)
            {
                if (this.calendarItem.CalendarElement.Calendar.SelectedDates.Count == 0)
                {
                    DateFilterDescriptor filterDescriptor2 = new DateFilterDescriptor(this.DataColumn.Name, FilterOperator.IsEqualTo, new DateTime?(this.calendarItem.CalendarElement.Calendar.FocusedDate), false);
                    filterDescriptor1.FilterDescriptors.Add((FilterDescriptor)filterDescriptor2);
                }
                else
                {
                    foreach (DateTime selectedDate in this.calendarItem.CalendarElement.Calendar.SelectedDates)
                    {
                        DateFilterDescriptor filterDescriptor2 = new DateFilterDescriptor(this.DataColumn.Name, FilterOperator.IsEqualTo, new DateTime?(selectedDate), false);
                        filterDescriptor1.FilterDescriptors.Add((FilterDescriptor)filterDescriptor2);
                    }
                }
            }
            foreach (RadItem radItem in (RadItemCollection)this.Items)
            {
                FilterMenuCustomDateItem menuCustomDateItem = radItem as FilterMenuCustomDateItem;
                if (menuCustomDateItem != null && menuCustomDateItem.IsChecked && !this.SearchForAppliedFilterDescriptors((FilterDescriptor)filterDescriptor1, menuCustomDateItem.FilterDescriptor))
                {
                    filterDescriptor1.FilterDescriptors.Add(menuCustomDateItem.FilterDescriptor);
                }
            }
            this.FilterDescriptor = (FilterDescriptor)filterDescriptor1;
            this.OnFilterConfirmed();
        }
Exemplo n.º 3
0
        public virtual void AddCustomMenuItem(string text, FilterDescriptor descriptor)
        {
            FilterMenuCustomDateItem menuCustomDateItem = new FilterMenuCustomDateItem(text, descriptor);

            menuCustomDateItem.ToggleStateChanged += new StateChangedEventHandler(this.FilterMenuCustomItem_ToggleStateChanged);
            this.Items.Insert(this.Items.Count - 1, (RadItem)menuCustomDateItem);
            if (this.Size.Height != this.DefaultHeight)
            {
                return;
            }
            this.Size           = new Size(this.Size.Width, this.Size.Height + 25);
            this.DefaultHeight += 25;
        }
Exemplo n.º 4
0
        protected virtual void SetInitialSelection()
        {
            List <DateTime>  selectedDates    = new List <DateTime>();
            FilterDescriptor filterDescriptor = this.GetFilterDescriptor();

            this.GetSelectedDates(filterDescriptor, ref selectedDates);
            if (this.ShouldSelectDatesInCalendar(selectedDates))
            {
                this.calendarItem.CalendarElement.Calendar.SelectedDates.AddRange(selectedDates.ToArray());
                this.calendarItem.IsChecked = true;
            }
            foreach (RadItem radItem in (RadItemCollection)this.Items)
            {
                FilterMenuCustomDateItem menuCustomDateItem = radItem as FilterMenuCustomDateItem;
                if (menuCustomDateItem != null)
                {
                    menuCustomDateItem.IsChecked = this.SearchForAppliedFilterDescriptors(filterDescriptor, menuCustomDateItem.FilterDescriptor);
                }
            }
        }