12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using InABox.Core;
- using InABox.Wpf;
- using System;
- using System.Collections.Generic;
- using System.Diagnostics.CodeAnalysis;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- namespace InABox.DynamicGrid
- {
- public class DynamicGridFilterGrid : DynamicItemsListGrid<CoreFilterDefinition>
- {
- private CoreFilterDefinitions _filters;
- public CoreFilterDefinitions Filters
- {
- get => _filters;
- [MemberNotNull(nameof(_filters))]
- set
- {
- _filters = value;
- Items = value;
- }
- }
- private Type FilterType;
- public DynamicGridFilterGrid(Type filterType)
- {
- Filters = new CoreFilterDefinitions();
- FilterType = filterType;
- OnCustomiseEditor += DynamicGridFilterGrid_OnCustomiseEditor;
- }
- protected override void Init()
- {
- }
- protected override void DoReconfigure(DynamicGridOptions options)
- {
- options.RecordCount = true;
- options.AddRows = true;
- options.EditRows = true;
- options.DeleteRows = true;
- options.MultiSelect = true;
- }
- private void DynamicGridFilterGrid_OnCustomiseEditor(IDynamicEditorForm sender, CoreFilterDefinition[]? items, DynamicGridColumn column, BaseEditor editor)
- {
- if(column.ColumnName == nameof(CoreFilterDefinition.Filter) && editor is FilterEditor filterEditor)
- {
- filterEditor.Type = FilterType;
- }
- }
- }
- }
|