using DevExpress.Blazor; namespace DbFirst.BlazorWebApp.Models.Grid { public class BandLayout { public List Bands { get; set; } = new(); public List ColumnOrder { get; set; } = new(); public Dictionary ColumnWidths { get; set; } = new(StringComparer.OrdinalIgnoreCase); public GridPersistentLayout? GridLayout { get; set; } public SizeMode SizeMode { get; set; } = SizeMode.Medium; } public class BandDefinition { public string Id { get; set; } = string.Empty; public string Caption { get; set; } = string.Empty; public List Columns { get; set; } = new(); } public class BandOption { public string Id { get; set; } = string.Empty; public string Caption { get; set; } = string.Empty; } public class ColumnDefinition { public string FieldName { get; init; } = string.Empty; public string Caption { get; init; } = string.Empty; public string? Width { get; set; } public string? DisplayFormat { get; init; } public bool ReadOnly { get; init; } public ColumnFilterType FilterType { get; init; } } public enum ColumnFilterType { Text, Bool, Date } }