예제 #1
0
        private void GetFilter()
        {
            if (IsGetFilter == false)
            {
                return;
            }

            IsSetFilter = false;

            DataGridFilterInfo filterInfo = null;

            if (Filter != null && Filter.FilterInfo != null)
            {
                foreach (var item in Filter.FilterInfo)
                {
                    if (item.FilterType == DataGridFilterType.Text)
                    {
                        filterInfo = item;
                        break;
                    }
                }
            }

            if (filterInfo != null)
            {
                TextFilter    = filterInfo.Value.ToString();
                TextOperation = filterInfo.FilterOperation;
            }
            else
            {
                TextFilter    = string.Empty;
                TextOperation = DataGridFilterOperation.Contains;
            }
            IsSetFilter = true;
        }
        private void GetFilter()
        {
            if (IsGetFilter == false)
            {
                return;
            }

            IsSetFilter = false;
            DataGridFilterInfo filterInfo = null;

            if (Filter != null && Filter.FilterInfo != null)
            {
                foreach (var item in Filter.FilterInfo)
                {
                    if (item.FilterType == DataGridFilterType.CheckBox)
                    {
                        filterInfo = item;
                        break;
                    }
                }
            }

            if (filterInfo != null)
            {
                Selected = (filterInfo.Value as bool?);
            }
            else
            {
                Selected = null;
            }

            IsSetFilter = true;
        }
예제 #3
0
        private void GetFilter()
        {
            DataGridFilterInfo filterInfo = null;

            if (Filter != null && Filter.FilterInfo != null)
            {
                foreach (var item in Filter.FilterInfo)
                {
                    if (item.FilterType == DataGridFilterType.MultiValue)
                    {
                        filterInfo = item;
                        break;
                    }
                }
            }

            if (filterInfo != null && filterInfo.Value != null)
            {
                SelectAll = false;

                var filterList = filterInfo.Value as IEnumerable <object>;

                foreach (var item in ItemsSource)
                {
                    if (filterList.Contains(item.Value))
                    {
                        IsSetFilter    = false;
                        item.IsChecked = true;
                        IsSetFilter    = true;
                    }
                }
            }
            else
            {
                SelectAll = true;
            }

            var currentRows = GetCurrentRows();

            if (currentRows != null)
            {
                foreach (var item in ItemsSource)
                {
                    if (currentRows.Contains(item.Value))
                    {
                        IsSetFilter    = false;
                        item.IsChecked = true;
                        IsSetFilter    = true;
                    }
                    else
                    {
                        IsSetFilter    = false;
                        item.IsChecked = false;
                        IsSetFilter    = true;
                    }
                }
            }
        }
        private DataGridFilterState SetFilter()
        {
            List <DataGridFilterInfo> filterInfoList = new List <DataGridFilterInfo>();

            DataGridFilterInfo filterFrom = new DataGridFilterInfo();

            filterFrom.FilterType      = DataGridFilterType.DateTime;
            filterFrom.FilterOperation = DataGridFilterOperation.GreaterThanOrEqual;

            if (FromDate != null)
            {
                PersianDate from = null;
                if (IsTimeVisible && FromTime.HasValue)
                {
                    from = new PersianDate(FromDate, FromTime.Value);
                }
                else
                {
                    from = new PersianDate(FromDate.Year, FromDate.Month, FromDate.Day, 0, 0, 0);
                }

                filterFrom.Value = from.ToDateTime();
                filterInfoList.Add(filterFrom);
            }


            DataGridFilterInfo filterTo = new DataGridFilterInfo();

            filterTo.FilterType        = DataGridFilterType.DateTime;
            filterTo.FilterOperation   = DataGridFilterOperation.LessThanOrEqual;
            filterTo.FilterCombination = filterFrom.Value != null ? DataGridFilterCombination.And : DataGridFilterCombination.None;

            if (ToDate != null)
            {
                PersianDate to = null;
                if (IsTimeVisible && ToTime.HasValue)
                {
                    to = new PersianDate(ToDate, ToTime.Value);
                }
                else
                {
                    to = new PersianDate(ToDate.Year, ToDate.Month, ToDate.Day, 23, 59, 59);
                }

                filterTo.Value = to.ToDateTime();
                filterInfoList.Add(filterTo);
            }

            if (filterInfoList.Any())
            {
                return new DataGridFilterState {
                           FilterInfo = filterInfoList
                }
            }
            ;

            return(null);
        }
        private DataGridFilterState SetFilter(bool isNullFilter = false)
        {
            List <DataGridFilterInfo> filterList = new List <DataGridFilterInfo>();
            DataGridFilterInfo        filterInfo = new DataGridFilterInfo();

            filterInfo.FilterType = DataGridFilterType.CheckBox;
            if (isNullFilter == false)
            {
                filterInfo.Value = Selected;
            }
            else
            {
                filterInfo.Value = null;
            }
            filterInfo.FilterOperation = DataGridFilterOperation.Equal;
            filterList.Add(filterInfo);

            return(new DataGridFilterState {
                FilterInfo = filterList
            });
        }
예제 #6
0
        private DataGridFilterState SetFilter()
        {
            List <DataGridFilterInfo> filterInfoList = new List <DataGridFilterInfo>();

            if (string.IsNullOrWhiteSpace(TextFilter) == false)
            {
                DataGridFilterInfo filterInfo = new DataGridFilterInfo();
                filterInfo.FilterType      = DataGridFilterType.Text;
                filterInfo.Value           = TextFilter;
                filterInfo.FilterOperation = TextOperation;
                if (filterInfo != null)
                {
                    filterInfoList.Add(filterInfo);
                }
            }

            if (Filter != null && Filter.FilterInfo != null)
            {
                foreach (var item in Filter.FilterInfo)
                {
                    if (item.FilterType != DataGridFilterType.Text)
                    {
                        filterInfoList.Add(item);
                    }
                }
            }

            if (filterInfoList.Any())
            {
                return new DataGridFilterState {
                           FilterInfo = filterInfoList
                }
            }
            ;

            return(null);
        }
예제 #7
0
        private DataGridFilterState SetFilter()
        {
            DataGridFilterInfo filterInfo = new DataGridFilterInfo();

            filterInfo.FilterType        = DataGridFilterType.MultiValue;
            filterInfo.FilterCombination = DataGridFilterCombination.And;

            if (ItemsSource.All(t => t.IsChecked))
            {
                filterInfo.FilterOperation = DataGridFilterOperation.All;
            }
            else
            {
                filterInfo.FilterOperation = DataGridFilterOperation.IsOneOf;
                filterInfo.Value           = ItemsSource.Where(x => x.IsChecked).Select(x => x.Value).ToList();
            }

            List <DataGridFilterInfo> filterInfoList = new List <DataGridFilterInfo>();

            if (Filter != null && Filter.FilterInfo != null)
            {
                foreach (var item in Filter.FilterInfo)
                {
                    if (item.FilterType != DataGridFilterType.MultiValue)
                    {
                        filterInfoList.Add(item);
                    }
                }
            }

            filterInfoList.Add(filterInfo);

            return(new DataGridFilterState {
                FilterInfo = filterInfoList
            });
        }