Skip to content

Commit 190ad32

Browse files
committed
Merge branch 'feat-table' into refactor-table
# Conflicts: # src/BootstrapBlazor/Components/Table/Table.razor.Checkbox.cs
2 parents 1b5953b + cb0f351 commit 190ad32

File tree

3 files changed

+34
-8
lines changed

3 files changed

+34
-8
lines changed

src/BootstrapBlazor/Components/Table/Table.razor.Checkbox.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
// See the LICENSE file in the project root for more information.
44
// Maintainer: Argo Zhang([email protected]) Website: https://www.blazor.zone
55

6+
using System.Text.Json;
7+
68
namespace BootstrapBlazor.Components;
79

810
public partial class Table<TItem>

src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ public async Task AddAsync()
502502
{
503503
// 数据源为 DataTable 新建后重建行与列
504504
await DynamicContext.AddAsync(SelectedRows.OfType<IDynamicObject>());
505-
ResetDynamicContext();
505+
await ResetDynamicContext();
506506

507507
if (!IsKeepSelectedRowAfterAdd)
508508
{
@@ -1030,7 +1030,7 @@ protected async Task DeleteAsync()
10301030
if (DynamicContext != null)
10311031
{
10321032
await DynamicContext.DeleteAsync(SelectedRows.OfType<IDynamicObject>());
1033-
ResetDynamicContext();
1033+
await ResetDynamicContext();
10341034
SelectedRows.Clear();
10351035
await OnSelectedRowsChanged();
10361036
}
@@ -1098,7 +1098,7 @@ async Task<bool> DeleteItemsAsync()
10981098
}
10991099
}
11001100

1101-
private void ResetDynamicContext()
1101+
private async Task ResetDynamicContext()
11021102
{
11031103
if (DynamicContext != null)
11041104
{
@@ -1112,7 +1112,7 @@ private void ResetDynamicContext()
11121112
FirstFixedColumnCache.Clear();
11131113
LastFixedColumnCache.Clear();
11141114

1115-
InternalResetVisibleColumns(Columns);
1115+
await InternalResetVisibleColumns(Columns);
11161116

11171117
var queryOption = BuildQueryPageOptions();
11181118
// 设置是否为首次查询

src/BootstrapBlazor/Components/Table/Table.razor.cs

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1225,7 +1225,7 @@ private async Task ProcessFirstRender()
12251225
await OnColumnCreating(cols);
12261226
}
12271227

1228-
InternalResetVisibleColumns(cols);
1228+
await InternalResetVisibleColumns(cols);
12291229

12301230
await ReloadColumnVisibleFromBrowserAsync();
12311231

@@ -1278,9 +1278,33 @@ private void ResetColumnWidth(List<ITableColumn> columns)
12781278
}
12791279
}
12801280

1281-
private void InternalResetVisibleColumns(List<ITableColumn> columns, IEnumerable<ColumnVisibleItem>? items = null)
1281+
private async Task InternalResetVisibleColumns(List<ITableColumn> columns, IEnumerable<ColumnVisibleItem>? items = null)
12821282
{
12831283
var cols = columns.Select(i => new ColumnVisibleItem(i.GetFieldName(), i.GetVisible()) { DisplayName = i.GetDisplayName() }).ToList();
1284+
List<ColumnVisibleItem>? ret = null;
1285+
if (ClientTableName != null && ShowColumnList)
1286+
{
1287+
var jsonData = await JSRuntime.InvokeAsync<string>("localStorage.getItem", "bb-table-column-visiable-" + ClientTableName);
1288+
if (!string.IsNullOrEmpty(jsonData))
1289+
{
1290+
try
1291+
{
1292+
ret = JsonSerializer.Deserialize<List<ColumnVisibleItem>>(jsonData, _serializerOption);
1293+
}
1294+
catch { }
1295+
if(ret != null)
1296+
{
1297+
foreach (var i in ret)
1298+
{
1299+
var col = cols.FirstOrDefault(d => d.Name == i.Name && d.DisplayName == i.DisplayName);
1300+
if (col != null)
1301+
{
1302+
col.Visible = i.Visible;
1303+
}
1304+
}
1305+
}
1306+
}
1307+
}
12841308
if (items != null)
12851309
{
12861310
foreach (var column in cols)
@@ -1304,15 +1328,15 @@ private void InternalResetVisibleColumns(List<ITableColumn> columns, IEnumerable
13041328
/// 设置 列可见方法
13051329
/// </summary>
13061330
/// <param name="columns"></param>
1307-
public void ResetVisibleColumns(IEnumerable<ColumnVisibleItem> columns)
1331+
public async Task ResetVisibleColumns(IEnumerable<ColumnVisibleItem> columns)
13081332
{
13091333
// https://github.com/dotnetcore/BootstrapBlazor/issues/6823
13101334
if (AllowResizing)
13111335
{
13121336
_resetColumns = true;
13131337
}
13141338

1315-
InternalResetVisibleColumns(Columns, columns);
1339+
await InternalResetVisibleColumns(Columns, columns);
13161340
StateHasChanged();
13171341
}
13181342

0 commit comments

Comments
 (0)