@@ -963,7 +963,7 @@ protected override void OnParametersSet()
963963 ResetDynamicContext ( ) ;
964964
965965 // resize column width;
966- ResetColumnWidth ( ) ;
966+ ResetColumnWidth ( Columns ) ;
967967 }
968968 }
969969
@@ -1022,7 +1022,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
10221022 await InvokeVoidAsync ( "scrollTo" , Id ) ;
10231023 }
10241024
1025- if ( _shouldScrollTop )
1025+ if ( _shouldScrollTop )
10261026 {
10271027 _shouldScrollTop = false ;
10281028 await InvokeVoidAsync ( "scrollTo" , Id ) ;
@@ -1101,7 +1101,7 @@ private async Task OnTableRenderAsync(bool firstRender)
11011101
11021102 private readonly JsonSerializerOptions _serializerOption = new ( JsonSerializerDefaults . Web ) ;
11031103
1104- private async Task < List < ColumnWidth > > ReloadColumnWidthFromBrowserAsync ( )
1104+ private async Task ReloadColumnWidthFromBrowserAsync ( List < ITableColumn > columns )
11051105 {
11061106 List < ColumnWidth > ? ret = null ;
11071107 if ( ! string . IsNullOrEmpty ( ClientTableName ) && AllowResizing )
@@ -1124,7 +1124,9 @@ private async Task<List<ColumnWidth>> ReloadColumnWidthFromBrowserAsync()
11241124 catch { }
11251125 }
11261126 }
1127- return ret ?? [ ] ;
1127+ _clientColumnWidths = ret ?? [ ] ;
1128+
1129+ ResetColumnWidth ( columns ) ;
11281130 }
11291131
11301132 private async Task ReloadColumnOrdersFromBrowserAsync ( List < ITableColumn > columns )
@@ -1174,19 +1176,19 @@ private async Task ProcessFirstRender()
11741176 }
11751177
11761178 await ReloadColumnOrdersFromBrowserAsync ( cols ) ;
1177- Columns . Clear ( ) ;
1178- Columns . AddRange ( cols . OrderFunc ( ) ) ;
11791179
11801180 // 查看是否开启列宽序列化
1181- _clientColumnWidths = await ReloadColumnWidthFromBrowserAsync ( ) ;
1182- ResetColumnWidth ( ) ;
1181+ await ReloadColumnWidthFromBrowserAsync ( cols ) ;
11831182
11841183 if ( OnColumnCreating != null )
11851184 {
1186- await OnColumnCreating ( Columns ) ;
1185+ await OnColumnCreating ( cols ) ;
11871186 }
11881187
1189- InternalResetVisibleColumns ( ) ;
1188+ InternalResetVisibleColumns ( cols ) ;
1189+
1190+ Columns . Clear ( ) ;
1191+ Columns . AddRange ( cols . OrderFunc ( ) ) ;
11901192
11911193 // set default sortName
11921194 var col = Columns . Find ( i => i is { Sortable : true , DefaultSort : true } ) ;
@@ -1222,21 +1224,21 @@ protected override async Task InvokeInitAsync()
12221224 }
12231225 }
12241226
1225- private void ResetColumnWidth ( )
1227+ private void ResetColumnWidth ( List < ITableColumn > columns )
12261228 {
12271229 foreach ( var cw in _clientColumnWidths . Where ( c => c . Width > 0 ) )
12281230 {
1229- var c = Columns . Find ( c => c . GetFieldName ( ) == cw . Name ) ;
1231+ var c = columns . Find ( c => c . GetFieldName ( ) == cw . Name ) ;
12301232 if ( c != null )
12311233 {
12321234 c . Width = cw . Width ;
12331235 }
12341236 }
12351237 }
12361238
1237- private void InternalResetVisibleColumns ( IEnumerable < ColumnVisibleItem > ? items = null )
1239+ private void InternalResetVisibleColumns ( List < ITableColumn > columns , IEnumerable < ColumnVisibleItem > ? items = null )
12381240 {
1239- var cols = Columns . Select ( i => new ColumnVisibleItem ( i . GetFieldName ( ) , i . GetVisible ( ) ) { DisplayName = i . GetDisplayName ( ) } ) . ToList ( ) ;
1241+ var cols = columns . Select ( i => new ColumnVisibleItem ( i . GetFieldName ( ) , i . GetVisible ( ) ) { DisplayName = i . GetDisplayName ( ) } ) . ToList ( ) ;
12401242 if ( items != null )
12411243 {
12421244 foreach ( var column in cols )
@@ -1262,7 +1264,7 @@ private void InternalResetVisibleColumns(IEnumerable<ColumnVisibleItem>? items =
12621264 /// <param name="columns"></param>
12631265 public void ResetVisibleColumns ( IEnumerable < ColumnVisibleItem > columns )
12641266 {
1265- InternalResetVisibleColumns ( columns ) ;
1267+ InternalResetVisibleColumns ( Columns , columns ) ;
12661268 StateHasChanged ( ) ;
12671269 }
12681270
0 commit comments