diff --git a/DbFirst.BlazorWebApp/Components/BandGridBase.cs b/DbFirst.BlazorWebApp/Components/BandGridBase.cs index d8c4525..ef47bb6 100644 --- a/DbFirst.BlazorWebApp/Components/BandGridBase.cs +++ b/DbFirst.BlazorWebApp/Components/BandGridBase.cs @@ -132,13 +132,13 @@ public abstract class BandGridBase : ComponentBase UpdateBandOptions(); } - protected void RemoveBand(BandDefinition band) + protected async Task RemoveBand(BandDefinition band) { bandLayout.Bands.Remove(band); foreach (var key in columnBandAssignments.Where(p => p.Value == band.Id).Select(p => p.Key).ToList()) columnBandAssignments.Remove(key); UpdateBandOptions(); - SyncBandsFromAssignments(); + await SyncBandsFromAssignments(); } protected void UpdateBandCaption(BandDefinition band, string value) @@ -147,19 +147,19 @@ public abstract class BandGridBase : ComponentBase UpdateBandOptions(); } - protected void UpdateColumnBand(string fieldName, string? bandId) + protected async Task UpdateColumnBand(string fieldName, string? bandId) { if (string.IsNullOrWhiteSpace(bandId)) columnBandAssignments.Remove(fieldName); else columnBandAssignments[fieldName] = bandId; - SyncBandsFromAssignments(); + await SyncBandsFromAssignments(); } protected string GetColumnBand(string fieldName) => columnBandAssignments.TryGetValue(fieldName, out var bandId) ? bandId : string.Empty; - protected void SyncBandsFromAssignments() + protected async Task SyncBandsFromAssignments() { foreach (var band in bandLayout.Bands) { @@ -168,7 +168,7 @@ public abstract class BandGridBase : ComponentBase .Select(c => c.FieldName) .ToList(); } - _ = InvokeAsync(StateHasChanged); + await InvokeAsync(StateHasChanged); } protected void UpdateBandOptions() @@ -245,8 +245,8 @@ public abstract class BandGridBase : ComponentBase if (!_dateFilterTemplates.TryGetValue(fieldName, out var template)) { // EventCallbacks einmalig erstellen – stabile Referenzen über alle Renders - _fromCallbacks[fieldName] = EventCallback.Factory.Create(this, (DateTime? v) => OnFilterFromChanged(fieldName, v)); - _toCallbacks[fieldName] = EventCallback.Factory.Create(this, (DateTime? v) => OnFilterToChanged(fieldName, v)); + _fromCallbacks[fieldName] = EventCallback.Factory.Create(this, async (DateTime? v) => await OnFilterFromChanged(fieldName, v)); + _toCallbacks[fieldName] = EventCallback.Factory.Create(this, async (DateTime? v) => await OnFilterToChanged(fieldName, v)); template = BuildDateFilterTemplate(fieldName); _dateFilterTemplates[fieldName] = template; } @@ -330,19 +330,19 @@ public abstract class BandGridBase : ComponentBase else if (op.OperatorType == BinaryOperatorType.Less) to = dt.AddDays(-1); } - private void OnFilterFromChanged(string fieldName, DateTime? value) + private async Task OnFilterFromChanged(string fieldName, DateTime? value) { _filterFrom[fieldName] = value; - ApplyDateFilter(fieldName); + await ApplyDateFilter(fieldName); } - private void OnFilterToChanged(string fieldName, DateTime? value) + private async Task OnFilterToChanged(string fieldName, DateTime? value) { _filterTo[fieldName] = value; - ApplyDateFilter(fieldName); + await ApplyDateFilter(fieldName); } - private void ApplyDateFilter(string fieldName) + private async Task ApplyDateFilter(string fieldName) { var ops = new List(); if (_filterFrom.TryGetValue(fieldName, out var from) && from.HasValue) @@ -360,7 +360,7 @@ public abstract class BandGridBase : ComponentBase gridRef?.SetFieldFilterCriteria(fieldName, criteria); if (_filterContexts.TryGetValue(fieldName, out var ctx)) ctx.FilterCriteria = criteria; - _ = InvokeAsync(StateHasChanged); + await InvokeAsync(StateHasChanged); } protected void SetEditContext(EditContext context)