From 43aaa91c4c86ec6120cb8d6894a3751e881cf41d Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 09:01:24 +0800 Subject: [PATCH 01/17] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=96=B0=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=87=8F=E5=B0=91=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs b/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs index 589ed2932c7..133113f3f38 100644 --- a/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs +++ b/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs @@ -102,9 +102,9 @@ protected override async Task OnInitializedAsync() protected override void BuildRenderTree(RenderTreeBuilder builder) { builder.OpenComponent>(0); - builder.AddAttribute(1, nameof(CascadingValue.Value), this); - builder.AddAttribute(2, nameof(CascadingValue.IsFixed), true); - builder.AddAttribute(3, nameof(CascadingValue.ChildContent), RenderContent); + builder.AddAttribute(1, nameof(CascadingValue<>.Value), this); + builder.AddAttribute(2, nameof(CascadingValue<>.IsFixed), true); + builder.AddAttribute(3, nameof(CascadingValue<>.ChildContent), RenderContent); builder.CloseComponent(); } From 28cb8d0d1ee3deae29ef119168e512f774d9c409 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 09:22:51 +0800 Subject: [PATCH 02/17] =?UTF-8?q?doc:=20=E6=9B=B4=E6=96=B0=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Samples/Table/Tables.razor | 14 +++++++++++--- .../Components/Samples/Table/Tables.razor.cs | 4 +++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor b/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor index b712a93e8c0..ca91d0612e3 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor +++ b/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor @@ -1,4 +1,4 @@ -@page "/table" +@page "/table" @inject IStringLocalizer NavMenuLocalizer @inject IStringLocalizer Localizer @inject IStringLocalizer FooLocalizer @@ -68,8 +68,16 @@ -
@((MarkupString)Localizer["TableBaseSizeDescription"].Value)
- +
+

@((MarkupString)Localizer["TableBaseSizeDescription"].Value)

+
+
+ +
+
+
+
diff --git a/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor.cs index e28114d9e4a..ffa49a9b151 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor.cs +++ b/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the Apache 2.0 License // See the LICENSE file in the project root for more information. // Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone @@ -21,6 +21,8 @@ public partial class Tables [NotNull] private string? RefreshText { get; set; } + private bool _isCompact = true; + /// /// OnInitialized /// From 541b0cc794b23a786ecc8d36588ddb0a5b335674 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 09:29:43 +0800 Subject: [PATCH 03/17] =?UTF-8?q?feat:=20=E5=A4=9A=E9=80=89=E5=88=97?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=BB=98=E8=AE=A4=E5=B1=85=E4=B8=AD=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Table/Table.razor.cs | 3 ++- src/BootstrapBlazor/Components/Table/Table.razor.scss | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.cs b/src/BootstrapBlazor/Components/Table/Table.razor.cs index e2c4aad5be5..9565f1018ae 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the Apache 2.0 License // See the LICENSE file in the project root for more information. // Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone @@ -97,6 +97,7 @@ public partial class Table : ITable, IModelEqualityComparer where .AddClass("table-resize", AllowResizing) .AddClass("table-fixed-body", RenderMode == TableRenderMode.CardView && IsFixedHeader) .AddClass("table-striped table-hover", ActiveRenderMode == TableRenderMode.CardView && IsStriped) + .AddClass("table-multi", IsMultipleSelect) .Build(); private string? FooterClassString => CssBuilder.Default("table-footer") diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.scss b/src/BootstrapBlazor/Components/Table/Table.razor.scss index e7625b6ff92..772920096b6 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.scss +++ b/src/BootstrapBlazor/Components/Table/Table.razor.scss @@ -1,4 +1,4 @@ -.table-container { +.table-container { --bb-table-td-padding-x: .5rem; --bb-table-td-padding-y: .5rem; --bb-table-cardview-label-width: 30%; @@ -44,6 +44,11 @@ overflow: auto; } } + + .table-multi th:first-child > .table-cell, + .table-multi td:first-child > .table-cell { + justify-content: center; + } } .table-container .table:not(.table-excel) .switch { From 85a0c7ca948a6bb219935a1632ca3eb24b709bb6 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 09:35:08 +0800 Subject: [PATCH 04/17] =?UTF-8?q?test:=20=E6=9B=B4=E6=96=B0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTest/Components/TableTest.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/UnitTest/Components/TableTest.cs b/test/UnitTest/Components/TableTest.cs index c565a36f2ca..ab49f5b44d7 100644 --- a/test/UnitTest/Components/TableTest.cs +++ b/test/UnitTest/Components/TableTest.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the Apache 2.0 License // See the LICENSE file in the project root for more information. // Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone @@ -1741,6 +1741,8 @@ public void FixedColumn_Ok() }); }); + cut.Contains("table-multi"); + // DetailRow cut.Contains("style=\"left: 0;\""); // MultipleSelect From 8c6395de99fbdc43533204e491b513e3787bf97c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 09:36:15 +0800 Subject: [PATCH 05/17] chore: bump version 9.12.2-beta02 --- src/BootstrapBlazor/BootstrapBlazor.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 5bafea74269..88b8c9ef786 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,11 +1,11 @@ - + - 9.12.2-beta01 + 9.12.2-beta02 - 10.0.0-rc.2.2.3 + 10.0.0-rc.2.2.4 From 5ddf8c8fc1d15d2578920c79888960ad5a01e37f Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 09:57:50 +0800 Subject: [PATCH 06/17] =?UTF-8?q?revert:=20=E6=92=A4=E9=94=80=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Table/Table.razor.cs | 1 - src/BootstrapBlazor/Components/Table/Table.razor.scss | 5 ----- test/UnitTest/Components/TableTest.cs | 2 -- 3 files changed, 8 deletions(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.cs b/src/BootstrapBlazor/Components/Table/Table.razor.cs index 9565f1018ae..894fd480ad1 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.cs @@ -97,7 +97,6 @@ public partial class Table : ITable, IModelEqualityComparer where .AddClass("table-resize", AllowResizing) .AddClass("table-fixed-body", RenderMode == TableRenderMode.CardView && IsFixedHeader) .AddClass("table-striped table-hover", ActiveRenderMode == TableRenderMode.CardView && IsStriped) - .AddClass("table-multi", IsMultipleSelect) .Build(); private string? FooterClassString => CssBuilder.Default("table-footer") diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.scss b/src/BootstrapBlazor/Components/Table/Table.razor.scss index 772920096b6..03dd4f48362 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.scss +++ b/src/BootstrapBlazor/Components/Table/Table.razor.scss @@ -44,11 +44,6 @@ overflow: auto; } } - - .table-multi th:first-child > .table-cell, - .table-multi td:first-child > .table-cell { - justify-content: center; - } } .table-container .table:not(.table-excel) .switch { diff --git a/test/UnitTest/Components/TableTest.cs b/test/UnitTest/Components/TableTest.cs index ab49f5b44d7..c1ba2203ef7 100644 --- a/test/UnitTest/Components/TableTest.cs +++ b/test/UnitTest/Components/TableTest.cs @@ -1741,8 +1741,6 @@ public void FixedColumn_Ok() }); }); - cut.Contains("table-multi"); - // DetailRow cut.Contains("style=\"left: 0;\""); // MultipleSelect From f622c70ee2e1b5522b6e57bcf0ecd3c8c1b6819e Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 09:58:22 +0800 Subject: [PATCH 07/17] =?UTF-8?q?refactor:=20=E8=B0=83=E6=95=B4=E7=B4=A7?= =?UTF-8?q?=E5=87=91=E6=A8=A1=E5=BC=8F=E4=B8=8B=E5=B7=A6=E5=8F=B3=E9=97=B4?= =?UTF-8?q?=E8=B7=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Table/Table.razor.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.scss b/src/BootstrapBlazor/Components/Table/Table.razor.scss index 03dd4f48362..fd64dcd2d88 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.scss +++ b/src/BootstrapBlazor/Components/Table/Table.razor.scss @@ -72,7 +72,7 @@ } .table-sm { - --bb-table-td-padding-x: .25rem; + --bb-table-td-padding-x: .35rem; --bb-table-td-padding-y: .25rem; } From bdfbceb9062a191fcccaab187772e7c157cea6e6 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 09:58:49 +0800 Subject: [PATCH 08/17] =?UTF-8?q?refactor:=20=E8=B0=83=E6=95=B4=E7=B4=A7?= =?UTF-8?q?=E5=87=91=E6=A8=A1=E5=BC=8F=E4=B8=8B=E5=A4=8D=E9=80=89=E6=A1=86?= =?UTF-8?q?=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Table/Table.razor.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.cs b/src/BootstrapBlazor/Components/Table/Table.razor.cs index 894fd480ad1..fc46111ad23 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.cs @@ -878,6 +878,11 @@ private void OnInitParameters() if (CheckboxColumnWidth == 0) { CheckboxColumnWidth = op.TableSettings.CheckboxColumnWidth; + + if(TableSize == TableSize.Compact) + { + CheckboxColumnWidth = (int)(CheckboxColumnWidth * 0.8); + } } if (op.TableSettings.TableRenderMode != null && RenderMode == TableRenderMode.Auto) From cda0ca5c7b468b6b3702cf63fb11773c96ffffd3 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 09:59:09 +0800 Subject: [PATCH 09/17] =?UTF-8?q?refactor:=20=E7=B2=BE=E7=AE=80=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTest/Components/TableTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/UnitTest/Components/TableTest.cs b/test/UnitTest/Components/TableTest.cs index c1ba2203ef7..1c38dc8ee21 100644 --- a/test/UnitTest/Components/TableTest.cs +++ b/test/UnitTest/Components/TableTest.cs @@ -1731,7 +1731,7 @@ public void FixedColumn_Ok() builder.OpenComponent>(0); builder.AddAttribute(1, "Field", foo.Name); builder.AddAttribute(2, "FieldExpression", Utility.GenerateValueExpression(foo, "Name", typeof(string))); - builder.AddAttribute(3, nameof(TableColumn.Fixed), true); + builder.AddAttribute(3, nameof(TableColumn<,>.Fixed), true); builder.CloseComponent(); }); pb.Add(a => a.DetailRowTemplate, foo => builder => @@ -2650,7 +2650,7 @@ public void ToolbarButton_Ok() pb.Add(a => a.TableToolbarTemplate, builder => { builder.OpenComponent>(0); - builder.AddAttribute(1, nameof(TableToolbarButton.Text), "test-after"); + builder.AddAttribute(1, nameof(TableToolbarButton<>.Text), "test-after"); builder.CloseComponent(); }); pb.Add(a => a.TableToolbarBeforeTemplate, builder => From 3028387b5974fa8f75b53bdbe86beb4aceaed360 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 10:07:54 +0800 Subject: [PATCH 10/17] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20CheckboxColu?= =?UTF-8?q?mnCompactWidth=20=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Options/TableSettings.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/Options/TableSettings.cs b/src/BootstrapBlazor/Options/TableSettings.cs index 1004b2bd2ea..bfbf8ed3c8f 100644 --- a/src/BootstrapBlazor/Options/TableSettings.cs +++ b/src/BootstrapBlazor/Options/TableSettings.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the Apache 2.0 License // See the LICENSE file in the project root for more information. // Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone @@ -15,6 +15,11 @@ public class TableSettings /// public int CheckboxColumnWidth { get; set; } = 36; + /// + /// 获得/设置 复选框宽度 默认 28 + /// + public int CheckboxColumnCompactWidth { get; set; } = 28; + /// /// 获得/设置 明细行 Row Header 宽度 默认 24 /// From 77c83ddf0c2e1e7ad9f43590e096ef09dd584010 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 10:08:13 +0800 Subject: [PATCH 11/17] =?UTF-8?q?feat:=20=E4=BD=BF=E7=94=A8=20CheckboxColu?= =?UTF-8?q?mnCompactWidth=20=E5=80=BC=E6=B8=B2=E6=9F=93=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=88=97=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Table/Table.razor.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.cs b/src/BootstrapBlazor/Components/Table/Table.razor.cs index fc46111ad23..183edd02ad6 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.cs @@ -877,12 +877,9 @@ private void OnInitParameters() if (CheckboxColumnWidth == 0) { - CheckboxColumnWidth = op.TableSettings.CheckboxColumnWidth; - - if(TableSize == TableSize.Compact) - { - CheckboxColumnWidth = (int)(CheckboxColumnWidth * 0.8); - } + CheckboxColumnWidth = TableSize == TableSize.Normal + ? op.TableSettings.CheckboxColumnWidth + : op.TableSettings.CheckboxColumnCompactWidth; } if (op.TableSettings.TableRenderMode != null && RenderMode == TableRenderMode.Auto) From f6e86d17a020ff4b4b2c5d81d45e92b859414f0f Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 10:08:20 +0800 Subject: [PATCH 12/17] =?UTF-8?q?test:=20=E5=A2=9E=E5=8A=A0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTest/Components/TableTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/test/UnitTest/Components/TableTest.cs b/test/UnitTest/Components/TableTest.cs index 1c38dc8ee21..9f49dcb532d 100644 --- a/test/UnitTest/Components/TableTest.cs +++ b/test/UnitTest/Components/TableTest.cs @@ -7390,6 +7390,7 @@ public void TableSize_Ok() { pb.Add(a => a.RenderMode, TableRenderMode.Table); pb.Add(a => a.TableSize, TableSize.Normal); + pb.Add(a => a.IsMultipleSelect, true); pb.Add(a => a.OnQueryAsync, OnQueryAsync(localizer)); pb.Add(a => a.TableColumns, foo => builder => { From 8478f2d35b8819e3e40769f9724834c8909fe9bd Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 10:35:44 +0800 Subject: [PATCH 13/17] =?UTF-8?q?refactor:=20=E5=A2=9E=E5=8A=A0=20Checkbox?= =?UTF-8?q?ColumnCompactWidth=20=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Table/Table.razor.Sort.cs | 12 +++++++++--- .../Components/Table/Table.razor.cs | 15 ++++++++++++--- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.Sort.cs b/src/BootstrapBlazor/Components/Table/Table.razor.Sort.cs index 1308365f1d4..4475f3eeb6f 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.Sort.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.Sort.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the Apache 2.0 License // See the LICENSE file in the project root for more information. // Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone @@ -175,7 +175,10 @@ private int MultipleSelectColumnLeft() private string? MultiColumnStyleString => GetFixedMultipleSelectColumn ? $"left: {MultipleSelectColumnLeft()}px;" : null; - private int MultiColumnWidth => ShowCheckboxText ? ShowCheckboxTextColumnWidth : CheckboxColumnWidth; + private int MultiColumnWidth => ShowCheckboxText ? ShowCheckboxTextColumnWidth : + TableSize == TableSize.Normal + ? CheckboxColumnWidth + : CheckboxColumnCompactWidth; /// /// 获得指定列头固定列样式 @@ -290,7 +293,10 @@ private int CalcMargin() } if (IsMultipleSelect) { - margin += ShowCheckboxText ? ShowCheckboxTextColumnWidth : CheckboxColumnWidth; + margin += ShowCheckboxText ? ShowCheckboxTextColumnWidth : + TableSize == TableSize.Normal + ? CheckboxColumnWidth + : CheckboxColumnCompactWidth; } if (ShowLineNo) { diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.cs b/src/BootstrapBlazor/Components/Table/Table.razor.cs index 183edd02ad6..da31d71752d 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.cs @@ -339,6 +339,12 @@ private string GetSortTooltip(ITableColumn col) => SortName != col.GetFieldName( [Parameter] public int CheckboxColumnWidth { get; set; } + /// + /// 获得/设置 紧凑模式下复选框宽度 默认 28 + /// + [Parameter] + public int CheckboxColumnCompactWidth { get; set; } + /// /// 获得/设置 行号列宽度 默认 60 /// @@ -877,9 +883,12 @@ private void OnInitParameters() if (CheckboxColumnWidth == 0) { - CheckboxColumnWidth = TableSize == TableSize.Normal - ? op.TableSettings.CheckboxColumnWidth - : op.TableSettings.CheckboxColumnCompactWidth; + CheckboxColumnWidth = op.TableSettings.CheckboxColumnWidth; + } + + if (CheckboxColumnCompactWidth == 0) + { + CheckboxColumnCompactWidth = op.TableSettings.CheckboxColumnCompactWidth; } if (op.TableSettings.TableRenderMode != null && RenderMode == TableRenderMode.Auto) From e6e935f148758ce6173dd4e6769f1936965e3573 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 10:39:56 +0800 Subject: [PATCH 14/17] =?UTF-8?q?test:=20=E5=A2=9E=E5=8A=A0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTest/Components/TableTest.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/UnitTest/Components/TableTest.cs b/test/UnitTest/Components/TableTest.cs index 9f49dcb532d..7a637fdd953 100644 --- a/test/UnitTest/Components/TableTest.cs +++ b/test/UnitTest/Components/TableTest.cs @@ -1972,6 +1972,13 @@ public void FixedMultipleColumn_Ok() }); }); Assert.Contains("left: 36px;", cut.Markup); + + var table = cut.FindComponent>(); + table.SetParametersAndRender(pb => + { + pb.Add(a => a.TableSize, TableSize.Compact); + }); + Assert.Contains("left: 28px;", cut.Markup); } [Theory] From af170c97a7257760a8058e75ee912e4417d6ed13 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 10:56:05 +0800 Subject: [PATCH 15/17] =?UTF-8?q?test:=20=E5=A2=9E=E5=8A=A0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTest/Components/TableTest.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/UnitTest/Components/TableTest.cs b/test/UnitTest/Components/TableTest.cs index 7a637fdd953..a4bb6268af0 100644 --- a/test/UnitTest/Components/TableTest.cs +++ b/test/UnitTest/Components/TableTest.cs @@ -3264,6 +3264,15 @@ public void ShowFilterHeader_Ok(bool showCheckboxText) }); }); }); + + cut.Contains("width: 36px;"); + + var table = cut.FindComponent>(); + table.SetParametersAndRender(pb => + { + pb.Add(a => a.TableSize, TableSize.Compact); + }); + cut.Contains("width: 28px;"); } [Theory] From 668a11509905bd40b36cdec2a59a4a617f62965b Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 10:57:54 +0800 Subject: [PATCH 16/17] =?UTF-8?q?test:=20=E6=9B=B4=E6=96=B0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTest/Components/TableTest.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/test/UnitTest/Components/TableTest.cs b/test/UnitTest/Components/TableTest.cs index a4bb6268af0..b30d56badb1 100644 --- a/test/UnitTest/Components/TableTest.cs +++ b/test/UnitTest/Components/TableTest.cs @@ -3265,14 +3265,29 @@ public void ShowFilterHeader_Ok(bool showCheckboxText) }); }); - cut.Contains("width: 36px;"); + if (showCheckboxText == false) + { + cut.Contains("width: 36px;"); + } + else + { + cut.Contains("width: 80px;"); + } var table = cut.FindComponent>(); table.SetParametersAndRender(pb => { pb.Add(a => a.TableSize, TableSize.Compact); }); - cut.Contains("width: 28px;"); + + if (showCheckboxText == false) + { + cut.Contains("width: 28px;"); + } + else + { + cut.Contains("width: 80px;"); + } } [Theory] From 08fea110e1c62ef968e3759b76cb2e0be03da441 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 7 Nov 2025 11:02:20 +0800 Subject: [PATCH 17/17] =?UTF-8?q?doc:=20=E4=BB=A3=E7=A0=81=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Samples/Table/Tables.razor | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor b/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor index ca91d0612e3..28d8edaff8d 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor +++ b/src/BootstrapBlazor.Server/Components/Samples/Table/Tables.razor @@ -7,11 +7,11 @@

@Localizer["TableBaseDescription"]

-

表格功能比较多,参数也非常多,示例更多,各个功能详细用法建议查看下方视频讲解 鞠佬 有专门的视频讲解

- +

表格功能比较多,参数也非常多,示例更多,各个功能详细用法建议查看下方视频讲解 鞠佬 有专门的视频讲解

+
@@ -69,15 +69,15 @@ Introduction="@Localizer["TableBaseSizeIntro"]" Name="TableSize">
-

@((MarkupString)Localizer["TableBaseSizeDescription"].Value)

-
-
- -
-
-
+

@((MarkupString)Localizer["TableBaseSizeDescription"].Value)

+
+
+ +
+
+
+ TableSize="@(_isCompact ? TableSize.Compact : TableSize.Normal)" IsMultipleSelect="true">