/// <summary> /// Proběhne po změně hodnoty filtru. /// Metoda vyvolá <see cref="OnFilterValueChanged(DxFilterBoxChangeArgs)"/> a event <see cref="FilterValueChanged"/>. /// <para/> /// Metoda nastaví <see cref="LastFilterValue"/> = <see cref="CurrentFilterValue"/> (tedy poslední známá hodntoa filtru = aktuální hodnota). /// Tím se změní hodnota <see cref="CurrentFilterIsChanged"/> na false = filtr od této chvíle neobsahuje změnu. /// </summary> private void RunFilterValueChanged(DxFilterBoxChangeEventSource eventSource) { var currentFilter = this.CurrentFilterValue; DxFilterBoxChangeArgs args = new DxFilterBoxChangeArgs(currentFilter, eventSource); this.LastFilterValue = currentFilter; // Od teď bude hodnota CurrentFilterIsChanged = false; OnFilterValueChanged(args); FilterValueChanged?.Invoke(this, args); }
/// <summary> /// Konstruktor /// </summary> /// <param name="filterValue"></param> /// <param name="eventSource"></param> public DxFilterBoxChangeArgs(DxFilterBoxValue filterValue, DxFilterBoxChangeEventSource eventSource) { FilterValue = filterValue; EventSource = eventSource; }
/// <summary> /// Vrátí true, pokud v <see cref="FilterValueChangedSources"/> je nastavený některý bit z dodané hodnoty. /// </summary> /// <param name="source"></param> /// <returns></returns> protected bool CallChangedEventOn(DxFilterBoxChangeEventSource source) { return(this.FilterValueChangedSources.HasFlag(source)); }