1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using InABox.Core;
- using Org.BouncyCastle.Asn1.X509.Qualified;
- using Syncfusion.UI.Xaml.Grid;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- namespace InABox.DynamicGrid;
- public interface IDynamicGridSummary
- {
- }
- public class DynamicGridCountSummary : IDynamicGridSummary
- {
- }
- public abstract class DynamicGridSumSummary(string format) : IDynamicGridSummary
- {
- public string Format { get; set; } = format;
- public abstract Type AggregateType { get; }
- }
- public class DynamicGridSumSummary<TAggregate>(string format) : DynamicGridSumSummary(format)
- {
- public string Format { get; set; } = format;
- public override Type AggregateType => typeof(TAggregate);
- }
- public class DynamicGridCustomSummary(DynamicGridCustomSummary.AggregateFunc aggregate, string format) : IDynamicGridSummary
- {
- public delegate object AggregateFunc(IEnumerable<CoreRow> rows);
- public AggregateFunc Aggregate { get; set; } = aggregate;
- public string Format { get; set; } = format;
- }
- public class DynamicGridTemplateSummary(Func<FrameworkElement?> template) : IDynamicGridSummary
- {
- public Func<FrameworkElement?> Template { get; set; } = template;
- }
|