//добавление нового private MultiSelectFilter AddMult() { if (fMult.YesCount == 0) { WinFormsServ.Error("Не выбраны значения!"); return(null); } MultiSelectFilter msf = new MultiSelectFilter(_currentItem, fMult.GetSelectedItems(), _current); return(msf); }
public DashboardFilterViewModel() { DateRangeFilter = new DateRangeFilter(); NoteFilter = new TextFilter(); AccountsFilter = new MultiSelectFilter(); CategoryFilter = new MultiSelectFilter(); DirectionFilter = new DirectionFilter(); _anyFilter = new CompositeFilter(DateRangeFilter, NoteFilter, AccountsFilter, CategoryFilter, DirectionFilter); _anyFilter.FilterInvalidated += OnAnyFilterInvalidated; ResetFilterCommad = new RelayCommand(Reset, () => IsFiltering); }
private MultiFromToFilter AddExams() { if (fMult.YesCount == 0) { WinFormsServ.Error("Не выбраны значения!"); return(null); } if (!fFromTo.CheckValues()) { return(null); } FromToFilter ftf = new FromToFilter(new FilterItem("Оценка", FilterType.FromTo, "temp.markvalue", null), fFromTo.FromValue, fFromTo.ToValue, _current); MultiSelectFilter msf = new MultiSelectFilter(new FilterItem("Экзамены", FilterType.Multi, "qMark.ExamInprogramId", null), fMult.GetSelectedItems(), _current); return(new MultiFromToFilter(_currentItem, msf, ftf, _current)); }
public GmcManagerFilterViewModel() { FilterOnItemDateCommand = new RelayCommand <BasicTransactionModel>(FilterOnItemDate); var deltaFilterData = new Dictionary <string, IList <DeltaAction> > { { "to add", new[] { DeltaAction.Add } }, { "to update", new[] { DeltaAction.UpdateMemo } }, { "to remove", new[] { DeltaAction.Remove } }, { "undeterministic status", new[] { DeltaAction.MultipleTargetsPossible, DeltaAction.NotUniqueKeyInTarget } }, { "up to date", new[] { DeltaAction.Nothing } } }; DeltaFilter = new MultiSelectFilter(); DeltaFilter.Initialize(deltaFilterData, kv => kv.Key, kv => kv.Value); DateFilter = new DateRangeFilter(); MemoFilter = new TextFilter(); _anyFilter = new CompositeFilter(DeltaFilter, DateFilter, MemoFilter); _anyFilter.FilterInvalidated += OnAnyFilterInvalidated; ResetFilterCommad = new RelayCommand(Reset, () => IsFiltering); }
//реакция на тычок по созданному фильтру private void lbFilters_SelectedIndexChanged(object sender, EventArgs e) { if (lbFilters.SelectedIndex < 0) { btnChange.Enabled = false; return; } else { btnChange.Enabled = true; } //если жмут по стрелкам, ничего не происходит if (flag) { flag = false; return; } object obj = lbFilters.SelectedItem; if (obj is Bracket) { btnUp.Enabled = btnDown.Enabled = false; } else { btnUp.Enabled = btnDown.Enabled = true; } if (!(obj is Filter)) { return; } Filter filter = obj as Filter; //проставили в комбик нужный фильтр cmbFilters.SelectedIndex = filter.NumInList; if (filter is BoolFilter) { BoolFilter bf = filter as BoolFilter; fBool.Value = bf.Value; } else if (filter is DateFromToFilter) { DateFromToFilter dftf = filter as DateFromToFilter; fDateFromTo.FromValue = dftf.FromValue; fDateFromTo.ToValue = dftf.ToValue; } else if (filter is FromToFilter) { FromToFilter ftf = filter as FromToFilter; fFromTo.FromValue = ftf.FromValue; fFromTo.ToValue = ftf.ToValue; } else if (filter is MultiSelectFilter) { MultiSelectFilter msf = filter as MultiSelectFilter; FillMulti(); fMult.FillList(msf.List, false); foreach (ListItem li in msf.List) { fMult.RemoveAtRight(li.Name); } } else if (filter is TextFilter) { TextFilter tf = filter as TextFilter; fText.Text = tf.Value; } else if (filter is MultiFromToFilter) { MultiSelectFilter msf = (filter as MultiFromToFilter).MultiSelectFilter; FillMulti(); fMult.FillList(msf.List, false); foreach (ListItem li in msf.List) { fMult.RemoveAtRight(li.Name); } FromToFilter ftf = (filter as MultiFromToFilter).FromtoFilter; fFromTo.FromValue = ftf.FromValue; fFromTo.ToValue = ftf.ToValue; } }