@@ -105,7 +105,7 @@
@if (ShowPresets)
{
-
Presets
+
Presets
@foreach (var preset in EffectivePresets)
{
diff --git a/src/BlazorBlueprint.Components/Components/DataGrid/BbDataGridExpandColumn.razor.cs b/src/BlazorBlueprint.Components/Components/DataGrid/BbDataGridExpandColumn.razor.cs
index f57b64ed4..b76806b81 100644
--- a/src/BlazorBlueprint.Components/Components/DataGrid/BbDataGridExpandColumn.razor.cs
+++ b/src/BlazorBlueprint.Components/Components/DataGrid/BbDataGridExpandColumn.razor.cs
@@ -25,6 +25,13 @@ public partial class BbDataGridExpandColumn : ComponentBase, IDataGridCol
[Parameter]
public ColumnPinning Pinned { get; set; } = ColumnPinning.None;
+ ///
+ /// Additional CSS classes for the header cell. Applied last, so they override the
+ /// default width and padding.
+ ///
+ [Parameter]
+ public string? HeaderClass { get; set; }
+
///
/// Template for rendering detail rows when a row is expanded.
/// Detail rows use the same column structure as the parent grid,
@@ -69,7 +76,7 @@ public partial class BbDataGridExpandColumn : ComponentBase, IDataGridCol
string? IDataGridColumn.CellClass => null;
- string? IDataGridColumn.HeaderClass => null;
+ string? IDataGridColumn.HeaderClass => HeaderClass;
bool IDataGridColumn.NoWrap => false;
diff --git a/tests/BlazorBlueprint.Tests/ApiSurface/ComponentsApiSurfaceTests.ComponentsApiSurfaceMatchesBaseline.verified.txt b/tests/BlazorBlueprint.Tests/ApiSurface/ComponentsApiSurfaceTests.ComponentsApiSurfaceMatchesBaseline.verified.txt
index 62164a613..01edb5303 100644
--- a/tests/BlazorBlueprint.Tests/ApiSurface/ComponentsApiSurfaceTests.ComponentsApiSurfaceMatchesBaseline.verified.txt
+++ b/tests/BlazorBlueprint.Tests/ApiSurface/ComponentsApiSurfaceTests.ComponentsApiSurfaceMatchesBaseline.verified.txt
@@ -1078,6 +1078,7 @@
### BbDataGridExpandColumn`1 (BlazorBlueprint.Components)
- DetailRows : RenderFragment
+ - HeaderClass : String
- Pinned : ColumnPinning
- Width : String
- ParentGrid : BbDataGrid [CascadingParameter]
diff --git a/tests/BlazorBlueprint.Tests/DataGrid/ExpandColumnTests.cs b/tests/BlazorBlueprint.Tests/DataGrid/ExpandColumnTests.cs
new file mode 100644
index 000000000..30f177c64
--- /dev/null
+++ b/tests/BlazorBlueprint.Tests/DataGrid/ExpandColumnTests.cs
@@ -0,0 +1,32 @@
+using BlazorBlueprint.Components;
+using BlazorBlueprint.Primitives.DataGrid;
+using Xunit;
+
+namespace BlazorBlueprint.Tests.DataGrid;
+
+///
+/// The grid styles every header through . The expand
+/// column used to answer null there, so its header could not be styled to match the rest (#597).
+///
+public class ExpandColumnTests
+{
+ private sealed class Row;
+
+ [Fact]
+ public void HeaderClassReachesTheGrid()
+ {
+#pragma warning disable BL0005 // Set directly to check the column interface without mounting a grid.
+ IDataGridColumn column = new BbDataGridExpandColumn { HeaderClass = "bg-primary" };
+#pragma warning restore BL0005
+
+ Assert.Equal("bg-primary", column.HeaderClass);
+ }
+
+ [Fact]
+ public void HeaderClassIsNullByDefault()
+ {
+ IDataGridColumn column = new BbDataGridExpandColumn();
+
+ Assert.Null(column.HeaderClass);
+ }
+}