diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/EnvelopeSenderPage.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/EnvelopeSenderPage.razor index d5aaeb3a..cc6f1f55 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/EnvelopeSenderPage.razor +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/EnvelopeSenderPage.razor @@ -187,7 +187,9 @@ PageSize="20" PagerVisible="true" SelectionMode="GridSelectionMode.Single" + AllowSelectRowByClick="true" SelectedDataItem="@_selectedEnvelope" + SelectedDataItemChanged="@((object o) => _selectedEnvelope = o as EnvelopeDto)" RowClick="OnRowClick" RowDoubleClick="OnRowDoubleClick" CustomizeElement="OnCustomizeElement" @@ -306,7 +308,9 @@ PageSize="20" PagerVisible="true" SelectionMode="GridSelectionMode.Single" + AllowSelectRowByClick="true" SelectedDataItem="@_selectedEnvelope" + SelectedDataItemChanged="@((object o) => _selectedEnvelope = o as EnvelopeDto)" RowClick="OnRowClick" RowDoubleClick="OnRowDoubleClick" CustomizeElement="OnCustomizeElement" @@ -573,7 +577,8 @@ // Future: Add custom row coloring based on status if needed } - // Single click: select row, or deselect if already selected (toggle) + // Single click: native DX selection handles the UI instantly. + // We only manage toggle: if the same row is clicked again, deselect. void OnRowClick(GridRowClickEventArgs e) { var clicked = e.Grid.GetDataItem(e.VisibleIndex) as EnvelopeDto; @@ -581,16 +586,11 @@ if (_selectedEnvelope?.Id == clicked.Id) { - // Already selected → deselect + // Same row clicked again → deselect _selectedEnvelope = null; e.Grid.DeselectDataItem(clicked); } - else - { - // New row → select - _selectedEnvelope = clicked; - e.Grid.SelectDataItem(clicked); - } + // Different row: @bind-SelectedDataItem already updated _selectedEnvelope } // Double-click: select the row and open preview popup