From baaceacdd3a6c0d8c7ca6c2aca7934fbd8845e5e Mon Sep 17 00:00:00 2001 From: Loretta Date: Fri, 21 Nov 2025 16:28:49 +0100 Subject: [PATCH] improvements --- .../Components/Grids/MgGridBase.cs | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/AyCode.Blazor.Components/Components/Grids/MgGridBase.cs b/AyCode.Blazor.Components/Components/Grids/MgGridBase.cs index 1214fc4..589c770 100644 --- a/AyCode.Blazor.Components/Components/Grids/MgGridBase.cs +++ b/AyCode.Blazor.Components/Components/Grids/MgGridBase.cs @@ -19,7 +19,7 @@ public interface IMgGridBase : IGrid } public abstract class MgGridBase : DxGrid, IMgGridBase - where TSignalRDataSource : AcSignalRDataSource> + where TSignalRDataSource : AcSignalRDataSource> where TDataItem : class, IId where TId : struct where TLoggerClient : AcLoggerBase @@ -31,7 +31,7 @@ public abstract class MgGridBase? _dataSourceParam = []; + private AcObservableCollection? _dataSourceParam = []; private string _gridLogName; public MgGridBase() : base() @@ -115,13 +115,31 @@ public abstract class MgGridBase; + _dataSourceParam = value as AcObservableCollection; if (_dataSource != null) // && _dataSourceParam is List workingReferenceList) - _dataSource.SetWorkingReferenceList(_dataSourceParam); + { + SetWorkingReferenceList(_dataSourceParam); + } } } + private void SetWorkingReferenceList(AcObservableCollection? referenceList) + { + _dataSource?.SetWorkingReferenceList(referenceList); + + SetGridData(referenceList); + } + + public void SetGridData(object? data) + { + if (ReferenceEquals(Data, data)) return; + + BeginUpdate(); + Data = data; + EndUpdate(); + } + protected override async Task OnInitializedAsync() { if (Logger == null) @@ -139,8 +157,8 @@ public abstract class MgGridBase(SignalRClient, crudTags, ContextIds) { FilterText = FilterText }; - Data = _dataSource; - + SetGridData(_dataSource.GetReferenceInnerList()); + _dataSource.OnDataSourceLoaded += OnDataSourceLoaded; _dataSource.OnDataSourceItemChanged += OnDataSourceItemChanged; @@ -168,7 +186,11 @@ public abstract class MgGridBase) + + SetGridData(_dataSource!.GetReferenceInnerList()); + //else Reload(); + //_dataSource.LoadItem(_dataSource.First().Id).Forget(); return OnDataSourceChanged.InvokeAsync(_dataSource); } @@ -195,7 +217,7 @@ public abstract class MgGridBase