FlexGrid for WinForms
フィルタの UI
フィルタ > フィルタの UI

FlexGrid では、フィルタ処理 UI を柔軟にカスタマイズできるオプションがいくつか提供されており、アプリケーションに独自のフィルタを作成できます。フィルタアイコンの表示/非表示やカスタマイズを行うことができます。ローカライズ要件に応じて、フィルタに表示される言語を変更することもできます。

フィルタアイコンの表示

デフォルトでは、FlexGrid のフィルタ処理可能な列のヘッダー上にマウスが置かれると、フィルタアイコン(Show Filter Icon)が表示されます。ただし、C1FlexGrid クラスの ShowFilterIcon プロパティを Always に設定することで、フィルタアイコンを常に表示することができます。このプロパティは、FilterIconVisibility 列挙に含まれる値を受け取ります。

フィルタアイコンの表示

WinForms FlexGrid のフィルタ処理される列にフィルタアイコンを常に表示するには、次のコードを使用します。

// 常にフィルタのアイコンを表示します
c1FlexGrid1.ShowFilterIcon = C1.Win.C1FlexGrid.FilterIconVisibility.Always;                   
' 常にフィルタのアイコンを表示します
c1FlexGrid1.ShowFilterIcon = C1.Win.C1FlexGrid.FilterIconVisibility.Always

カスタムアイコンの使用

FlexGrid では、GlyphEnum 列挙を使用して画像を受け取る C1FlexGrid クラスの Glyphs プロパティを使用して、フィルタアイコンをカスタマイズすることもできます。同じ列挙を使用して、現在フィルタ処理されている列に表示されるアイコンを変更することもできます。カスタムグリフの詳細については、カスタムグリフ を参照してください。

カスタムアイコンの使用

次のコードは、WinForms FlexGrid のフィルタ処理される列にカスタムアイコンを適用する方法を示します。

// フィルタのアイコンのグリフをカスタマイズします
c1FlexGrid1.Glyphs[GlyphEnum.FilterEditor] = Image.FromFile("custom-filter-icon.png");
// フィルタアイコンのグリフをカスタマイズします
c1FlexGrid1.Glyphs[GlyphEnum.FilteredColumn] = Image.FromFile("filter.ico");
' フィルタのアイコンのグリフをカスタマイズします
c1FlexGrid1.Glyphs(GlyphEnum.FilterEditor) = Image.FromFile("custom-filter-icon.png")
' フィルタアイコンのグリフをカスタマイズします
c1FlexGrid1.Glyphs(GlyphEnum.FilteredColumn) = Image.FromFile("filter.ico") 

フィルタ言語の変更

デフォルトでは、FlexGrid の列フィルタエディタは、CurrentUICulture 設定で指定されている言語を使用するようにローカライズされます。ただし、Language プロパティを使用すると、デフォルトをオーバーライドして、グリッドに列フィルタエディタを表示するときに使用する言語を指定できます。

次のコードを使用して、WinForms FlexGrid でのフィルタの表示言語を変更できます。

// フィルタ言語を日本語に設定します
c1FlexGrid1.Language = C1.Util.Localization.Language.Japanese;               
' フィルタ言語を日本語に設定します
c1FlexGrid1.Language = C1.Util.Localization.Language.Japanese