特定の列のフィルター、および全てのフィルターをプログラムからクリアする方法について解説します。

IgbGrid の設定

まず、IgbGrid コンポーネントを @ref ディレクティブで参照できるように設定します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<IgbGrid AllowFiltering="true"
FilterMode="FilterMode.ExcelStyleFilter"
@ref="grid">
....
</IgbGrid>
<IgbGrid AllowFiltering="true" FilterMode="FilterMode.ExcelStyleFilter" @ref="grid"> .... </IgbGrid>
<IgbGrid AllowFiltering="true" 
         FilterMode="FilterMode.ExcelStyleFilter"
         @ref="grid">
    ....
</IgbGrid>

ClearFilterAsync メソッドの使用

フィルターをクリアするには、

ClearFilterAsync
ClearFilterAsyncメソッドを使用します。これにより、列ごとや全体のフィルターを簡単に解除できます。

  • 特定の列のフィルターをクリアする場合、クリアしたい列のフィールド名(例えば “Name”)を
    ClearFilterAsync
    ClearFilterAsyncメソッドの引数として渡します。
  • すべてのフィルターをクリアするには、引数を空文字 (“”) にすることで全列のフィルターを一度に解除できます。

以下は、氏名列のフィルターを解除する ClearNameFilter メソッドと、すべてのフィルターをクリアするClearAllFilter メソッドの例です。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
private IgbGrid? grid;
private async Task ClearNameFilter()
{
if (grid != null)
{
await grid.ClearFilterAsync("Name");
}
}
private async Task ClearAllFilter()
{
if (grid != null)
{
await grid.ClearFilterAsync("");
}
}
private IgbGrid? grid; private async Task ClearNameFilter() { if (grid != null) { await grid.ClearFilterAsync("Name"); } } private async Task ClearAllFilter() { if (grid != null) { await grid.ClearFilterAsync(""); } }
private IgbGrid? grid;
private async Task ClearNameFilter()
{
    if (grid != null)
    {
        await grid.ClearFilterAsync("Name");
    }
}
private async Task ClearAllFilter()
{
    if (grid != null)
    {
        await grid.ClearFilterAsync("");
    }
}

ボタンでフィルターをクリアする

以下のコードは、フィルターをクリアするためのボタン設定です。ボタンをクリックすることで、それぞれのメソッドが呼び出され、フィルターがクリアされます。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<IgbButton @onclick="ClearNameFilter">氏名のフィルターをクリア</IgbButton>
<IgbButton @onclick="ClearAllFilter">全てのフィルターをクリア</IgbButton>
<IgbButton @onclick="ClearNameFilter">氏名のフィルターをクリア</IgbButton> <IgbButton @onclick="ClearAllFilter">全てのフィルターをクリア</IgbButton>
<IgbButton @onclick="ClearNameFilter">氏名のフィルターをクリア</IgbButton>
<IgbButton @onclick="ClearAllFilter">全てのフィルターをクリア</IgbButton>
Tagged:

製品について

Ignite UI for Blazor