Esempio n. 1
0
        private void C1DataFilter1_FilterAutoGenerating(object sender, FilterAutoGeneratingEventArgs e)
        {
            foreach (Filter f in c1DataFilter1.Filters)
            {
                if (f.PropertyName == "Brand")
                {
                    var brandFilter = f as ChecklistFilter;
                    brandFilter.FilterSummary.Label         = "Models:";
                    brandFilter.FilterSummary.PropertyName  = "Brand";
                    brandFilter.FilterSummary.AggregateType = C1.DataFilter.AggregateType.Count;
                }

                if (f.PropertyName == "Model")
                {
                    var modelFilter = f as ChecklistFilter;
                    modelFilter.FilterSummary.AggregateType = C1.DataFilter.AggregateType.Max;
                    modelFilter.FilterSummary.CustomFormat  = "C0";
                    modelFilter.FilterSummary.Label         = "Max price: ";
                    modelFilter.FilterSummary.PropertyName  = "Price";
                }

                if (f.PropertyName == "Price")
                {
                    var modelFilter = f as RangeFilter;
                    modelFilter.Maximum = data.Max(x => (x as Car).Price);
                    modelFilter.Minimum = data.Min(x => (x as Car).Price);
                    modelFilter.Format  = "F0";
                }
            }
        }
Esempio n. 2
0
        private void C1DataFilter_FilterAutoGenerating(object sender, FilterAutoGeneratingEventArgs e)
        {
            switch (e.Property.Name)
            {
            case "Model":
                var modelFilter = (ChecklistFilter)e.Filter;
                modelFilter.SelectAll();
                break;

            case "Brand":
                var brandFilter = (ChecklistFilter)e.Filter;
                brandFilter.SelectAll();
                break;

            case "Liter":
                var literFilter = (RangeFilter)e.Filter;
                literFilter.Maximum   = _carsTable.AsEnumerable().Max(x => x.Field <double>("Liter"));
                literFilter.Minimum   = _carsTable.AsEnumerable().Min(x => x.Field <double>("Liter"));
                literFilter.Increment = 0.01;
                break;

            case "TransmissSpeedCount":
                var transmissFilter = (ChecklistFilter)e.Filter;
                transmissFilter.HeaderText    = "Transmiss Speed Count";
                transmissFilter.ShowSelectAll = false;
                transmissFilter.SelectAll();
                break;

            case "Category":
                var categoryFilter = (ChecklistFilter)e.Filter;
                categoryFilter.ShowSelectAll = false;
                categoryFilter.SelectAll();
                break;

            case "TransmissAutomatic":
                var taFilter = (ChecklistFilter)e.Filter;
                taFilter.HeaderText  = "Transmiss Automatic";
                taFilter.ItemsSource = new List <TransmissAutomatic>()
                {
                    new TransmissAutomatic()
                    {
                        DisplayValue = "Yes", Value = "Yes"
                    },
                    new TransmissAutomatic()
                    {
                        DisplayValue = "No", Value = "No"
                    },
                    new TransmissAutomatic()
                    {
                        DisplayValue = "Empty", Value = string.Empty
                    }
                };
                taFilter.DisplayMemberPath = "DisplayValue";
                taFilter.ValueMemberPath   = "Value";
                taFilter.ShowSelectAll     = false;
                taFilter.SelectAll();
                break;

            case "Price":
                var priceFilter = (RangeFilter)e.Filter;
                priceFilter.Maximum   = _carsTable.AsEnumerable().Max(x => x.Field <double>("Price"));
                priceFilter.Minimum   = _carsTable.AsEnumerable().Min(x => x.Field <double>("Price"));
                priceFilter.Increment = 1000;
                priceFilter.Format    = "F0";
                break;

            default:
                e.Cancel = true;
                break;
            }
        }