From 8b4818f6e3aa628bc8fb9f5afa66f0197dcf1db8 Mon Sep 17 00:00:00 2001 From: "2248356998 qq.com" <2248356998@qq.com> Date: Sun, 12 Oct 2025 20:38:17 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat(table):=20=E5=87=8F=E5=B0=91linq?= =?UTF-8?q?=E8=BF=AD=E4=BB=A3=E5=99=A8=E5=AF=B9=E8=B1=A1=E7=9A=84=E5=88=9B?= =?UTF-8?q?=E5=BB=BA,=E9=81=BF=E5=85=8DEnumerable.Any=E5=A4=84=E4=BA=8E?= =?UTF-8?q?=E5=B5=8C=E5=A5=97=E5=BE=AA=E7=8E=AF=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs | 4 ++-- src/BootstrapBlazor/Components/Table/Table.razor.cs | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs index b209d325ae6..bbc83c4b42f 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs @@ -467,6 +467,7 @@ public Func? ShowDeleteButtonCallback /// 获得/设置 各列是否显示状态集合 /// private List VisibleColumns { get; } = []; + private HashSet VisibleColumnNames { get; set; } = []; /// /// 获得当前可见列集合 @@ -475,8 +476,7 @@ public Func? ShowDeleteButtonCallback public IEnumerable GetVisibleColumns() { // 不可见列 - var items = VisibleColumns.Where(i => i.Visible); - return Columns.Where(i => !i.GetIgnore() && items.Any(v => v.Name == i.GetFieldName()) && ScreenSize >= i.ShownWithBreakPoint); + return Columns.Where(i => ScreenSize >= i.ShownWithBreakPoint && !i.GetIgnore() && VisibleColumnNames.Contains(i.GetFieldName())); } private bool GetColumnsListState(ColumnVisibleItem item) => VisibleColumns.Find(i => i.Name == item.Name) is { Visible: true } && VisibleColumns.Where(i => i.Visible).DistinctBy(i => i.Name).Count(i => i.Visible) == 1; diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.cs b/src/BootstrapBlazor/Components/Table/Table.razor.cs index fc5bf4058d8..2a0aff47ec2 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.cs @@ -1278,6 +1278,8 @@ private void InternalResetVisibleColumns(List columns, IEnumerable } VisibleColumns.Clear(); VisibleColumns.AddRange(cols); + VisibleColumnNames = VisibleColumns.Where(i => i.Visible).Select(a => a.Name).ToHashSet(); + } /// From 4fc264a6309869862dbebd30561784ab8df178d9 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 13 Oct 2025 10:15:11 +0800 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs | 5 +++-- src/BootstrapBlazor/Components/Table/Table.razor.cs | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs index bbc83c4b42f..d668e9990bb 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs @@ -467,7 +467,8 @@ public Func? ShowDeleteButtonCallback /// 获得/设置 各列是否显示状态集合 /// private List VisibleColumns { get; } = []; - private HashSet VisibleColumnNames { get; set; } = []; + + private HashSet _visibleColumnNames = []; /// /// 获得当前可见列集合 @@ -476,7 +477,7 @@ public Func? ShowDeleteButtonCallback public IEnumerable GetVisibleColumns() { // 不可见列 - return Columns.Where(i => ScreenSize >= i.ShownWithBreakPoint && !i.GetIgnore() && VisibleColumnNames.Contains(i.GetFieldName())); + return Columns.Where(i => !i.GetIgnore() && _visibleColumnNames.Contains(i.GetFieldName()) && ScreenSize >= i.ShownWithBreakPoint); } private bool GetColumnsListState(ColumnVisibleItem item) => VisibleColumns.Find(i => i.Name == item.Name) is { Visible: true } && VisibleColumns.Where(i => i.Visible).DistinctBy(i => i.Name).Count(i => i.Visible) == 1; diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.cs b/src/BootstrapBlazor/Components/Table/Table.razor.cs index 2a0aff47ec2..8520a31e30d 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.cs @@ -1278,8 +1278,7 @@ private void InternalResetVisibleColumns(List columns, IEnumerable } VisibleColumns.Clear(); VisibleColumns.AddRange(cols); - VisibleColumnNames = VisibleColumns.Where(i => i.Visible).Select(a => a.Name).ToHashSet(); - + _visibleColumnNames = [.. VisibleColumns.Where(i => i.Visible).Select(a => a.Name)]; } /// From cba31184e60bf922a7fd1f23c3301e8208122009 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 13 Oct 2025 10:33:21 +0800 Subject: [PATCH 3/4] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Table/Table.razor | 2 +- .../Components/Table/Table.razor.Toolbar.cs | 9 ++++----- src/BootstrapBlazor/Components/Table/Table.razor.cs | 6 +++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor b/src/BootstrapBlazor/Components/Table/Table.razor index 1de537e1407..00fb13f6905 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor +++ b/src/BootstrapBlazor/Components/Table/Table.razor @@ -107,7 +107,7 @@