Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/CS/TreeListDemo.Wpf/Modules/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/CS/TreeListDemo.Wpf/Modules/Filtering.xaml.cs

using System;
using System.Collections.Generic;
using System.Windows;
using DevExpress.Xpf.Grid;
using System.Windows.Data;
using DevExpress.Xpf.Editors;
using System.Xml.Serialization;
using System.Collections;
using System.Windows.Media.Imaging;
using System.Windows.Media;
using DevExpress.Xpf.DemoBase.DataClasses;
using DevExpress.Data.Filtering;
using DevExpress.Xpf.DemoBase.Helpers;
using System.ComponentModel;
using System.Windows.Input;

namespace TreeListDemo {
    public partial class Filtering : TreeListDemoModule {
        public Filtering() {
            InitializeComponent();
        }
    }

    public class FiltrationModuleViewModel : DemoViewModelBase {
        public FiltrationModuleViewModel() {
            InitData();
            ShowAutoFilterRow = true;
        }

        private void InitData() {
            Filters = new List<Filter>();
            Filters.Add(new Filter("All", ""));
            Filters.Add(new Filter("Administration", "Contains([JobTitle],'Administrator')"));
            Filters.Add(new Filter("Older than 35", "[Age] > 35"));
            Filters.Add(new Filter("Male", "[Gender] = 'M'"));
            Filters.Add(new Filter("Female", "[Gender] = 'F'"));
            Filters.Add(new Filter("Upcoming Birthdays", "[BalloonVisibility] = 'True'"));
            SearchPanelModes = new List<ShowSearchPanelMode>();
            SearchPanelModes.Add(ShowSearchPanelMode.Always);
            SearchPanelModes.Add(ShowSearchPanelMode.Default);
            SearchPanelModes.Add(ShowSearchPanelMode.Never);
        }

        public List<Filter> Filters { get; set; }
        public List<ShowSearchPanelMode> SearchPanelModes { get; set; }

        bool showAutoFilterRowCore;
        public bool ShowAutoFilterRow {
            get { return showAutoFilterRowCore; }
            set { ChangeProperty<bool>(ref showAutoFilterRowCore, value, "ShowAutoFilterRow"); }
        }
    }

    public class Filter {
        public Filter(string name, string filterString) {
            Name = name;
            FilterString = filterString;
        }
        public string Name { get; private set; }
        public string FilterString { get; private set; }
    }
}