Skip to content

Commit 756dde9

Browse files
committed
DataGrid will allow combining advanced and simple filtering for different columns
Close #2128
1 parent c2a3961 commit 756dde9

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

Radzen.Blazor/RadzenDataGridFilterMenu.razor

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
@using Microsoft.AspNetCore.Components.Forms
33
@using Microsoft.JSInterop
44
@inject IJSRuntime JSRuntime
5-
<button title=@Column.GetFilterOperatorText(Column.GetFilterOperator()) class="@FilterIconStyle()" onclick="@($"Radzen.togglePopup(this.parentNode, '{Grid.PopupID}{Column.GetFilterProperty()}')")">
5+
<button title=@Column.GetFilterOperatorText(Column.GetFilterOperator()) class="@FilterIconStyle()" onclick="@($"Radzen.togglePopup(this.parentNode, '{filterId}')")">
66
<i class="notranslate rzi">@Grid.FilterIcon</i>
77
@if (Column.GetFilterOperator() == FilterOperator.DoesNotContain)
88
{
@@ -13,7 +13,7 @@
1313
@Column.GetFilterOperatorSymbol(Column.GetFilterOperator())
1414
}
1515
</button>
16-
<div id="@($"{Grid.PopupID}{Column.GetFilterProperty()}")" class="rz-overlaypanel"
16+
<div id="@($"{filterId}")" class="rz-overlaypanel"
1717
style="display:none;" tabindex="0">
1818
<div class="rz-overlaypanel-content">
1919
<ul class="rz-listbox-list">
@@ -129,6 +129,15 @@
129129
[Parameter]
130130
public RadzenDataGrid<TItem> Grid { get; set; }
131131

132+
string filterId;
133+
134+
protected override async Task OnInitializedAsync()
135+
{
136+
await base.OnInitializedAsync();
137+
138+
filterId = $"{Grid.PopupID}{Column.GetFilterProperty()}fm";
139+
}
140+
132141
protected string FilterOperatorStyle(RadzenDataGridColumn<TItem> column, FilterOperator value)
133142
{
134143
return column.GetFilterOperator() == value ?
@@ -166,7 +175,7 @@
166175
LogicalFilterOperator = Column.GetLogicalFilterOperator()
167176
});
168177

169-
await JSRuntime.InvokeVoidAsync("Radzen.closePopup", $"{Grid.PopupID}{Column.GetFilterProperty()}");
178+
await JSRuntime.InvokeVoidAsync("Radzen.closePopup", $"{filterId}");
170179
await Grid.ReloadInternal();
171180
}
172181

@@ -176,7 +185,7 @@
176185

177186
Grid.SaveSettings();
178187

179-
await JSRuntime.InvokeVoidAsync("Radzen.closePopup", $"{Grid.PopupID}{Column.GetFilterProperty()}");
188+
await JSRuntime.InvokeVoidAsync("Radzen.closePopup", $"{filterId}");
180189

181190
await Grid.FilterCleared.InvokeAsync(new DataGridColumnFilterEventArgs<TItem>()
182191
{

0 commit comments

Comments
 (0)