@@ -1123,6 +1123,24 @@ private async Task OnTableRenderAsync(bool firstRender)
11231123
11241124 private readonly JsonSerializerOptions _serializerOption = new ( JsonSerializerDefaults . Web ) ;
11251125
1126+ private async Task ReloadColumnVisibleFromBrowserAsync ( )
1127+ {
1128+ if ( ! string . IsNullOrEmpty ( ClientTableName ) )
1129+ {
1130+ // 读取浏览器配置
1131+ var clientColumns = await InvokeAsync < List < ColumnVisibleItem > > ( "reloadColumnList" , ClientTableName ) ;
1132+ clientColumns ??= [ ] ;
1133+ foreach ( var column in _visibleColumns )
1134+ {
1135+ var item = clientColumns . FirstOrDefault ( i => i . Name == column . Name ) ;
1136+ if ( item != null )
1137+ {
1138+ column . Visible = item . Visible ;
1139+ }
1140+ }
1141+ }
1142+ }
1143+
11261144 private async Task ReloadColumnWidthFromBrowserAsync ( List < ITableColumn > columns )
11271145 {
11281146 List < ColumnWidth > ? ret = null ;
@@ -1207,7 +1225,9 @@ private async Task ProcessFirstRender()
12071225 await OnColumnCreating ( cols ) ;
12081226 }
12091227
1210- InternalResetVisibleColumns ( cols ) ;
1228+ await InternalResetVisibleColumns ( cols ) ;
1229+
1230+ await ReloadColumnVisibleFromBrowserAsync ( ) ;
12111231
12121232 Columns . Clear ( ) ;
12131233 Columns . AddRange ( cols . OrderFunc ( ) ) ;
@@ -1258,7 +1278,7 @@ private void ResetColumnWidth(List<ITableColumn> columns)
12581278 }
12591279 }
12601280
1261- private void InternalResetVisibleColumns ( List < ITableColumn > columns , IEnumerable < ColumnVisibleItem > ? items = null )
1281+ private async Task InternalResetVisibleColumns ( List < ITableColumn > columns , IEnumerable < ColumnVisibleItem > ? items = null )
12621282 {
12631283 var cols = columns . Select ( i => new ColumnVisibleItem ( i . GetFieldName ( ) , i . GetVisible ( ) ) { DisplayName = i . GetDisplayName ( ) } ) . ToList ( ) ;
12641284 if ( items != null )
@@ -1284,15 +1304,15 @@ private void InternalResetVisibleColumns(List<ITableColumn> columns, IEnumerable
12841304 /// 设置 列可见方法
12851305 /// </summary>
12861306 /// <param name="columns"></param>
1287- public void ResetVisibleColumns ( IEnumerable < ColumnVisibleItem > columns )
1307+ public async Task ResetVisibleColumns ( IEnumerable < ColumnVisibleItem > columns )
12881308 {
12891309 // https://github.com/dotnetcore/BootstrapBlazor/issues/6823
12901310 if ( AllowResizing )
12911311 {
12921312 _resetColumns = true ;
12931313 }
12941314
1295- InternalResetVisibleColumns ( Columns , columns ) ;
1315+ await InternalResetVisibleColumns ( Columns , columns ) ;
12961316 StateHasChanged ( ) ;
12971317 }
12981318
0 commit comments