MESCIUS SPREAD for Windows Forms 17.0J
インジケータイメージ

フィルタリングが有効な列のヘッダには、フィルタインジケータが表示されます。フィルタインジケータに、独自のイメージを表示できます。次の図では、2番目の列(B列)に、既定のフィルタインジケータが表示されています。

カスタムイメージ

次のいずれかの方法で、フィルタインジケータに独自のイメージを表示できます。

サンプルコード

次のサンプルコードは、フィルタインジケータに独自のイメージを表示するため、ColumnHeaderRendererクラスを継承する、列ヘッダのカスタムレンダラクラスを作成します。

C#
コードのコピー
// form loadセクションでフィルタリング(および並べ替え)を許可します。
private void Form1_Load(object sender, System.EventArgs e)
{
    fpSpread1.ActiveSheet.ColumnHeader.DefaultStyle.Renderer = new myColumnHeaderRenderer();
    fpSpread1.Sheets[0].Columns[0].AllowAutoSort =true;
    fpSpread1.Sheets[0].Columns[0].AllowAutoFilter =true;
}
// 新規の列ヘッダレンダラを定義します。
public class myColumnHeaderRenderer : FarPoint.Win.Spread.CellType.ColumnHeaderRenderer
{
    // ソートインジケータの描画メソッドをオーバーライドします。
    override public void PaintSortIndicator(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appearance, float zoomFactor)
    {
        g.FillRectangle(new SolidBrush(Color.Red), r);
    }
    // フィルタリングインジケータの描画メソッドをオーバーライドします。
    override public void PaintFilterIndicator(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appearance, float zoomFactor)
    {
        g.FillRectangle(new SolidBrush(Color.Blue), r);
    }
}
Visual Basic
コードのコピー
' form loadセクションでフィルタリング(および並べ替え)を許可します。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    FpSpread1.ActiveSheet.ColumnHeader.DefaultStyle.Renderer = New myColumnHeaderRenderer
    FpSpread1.Sheets(0).Columns(0).AllowAutoSort = True
    FpSpread1.Sheets(0).Columns(0).AllowAutoFilter = True
End Sub
' 新規の列ヘッダレンダラを定義します。
Public Class myColumnHeaderRenderer
    Inherits FarPoint.Win.Spread.CellType.ColumnHeaderRenderer
    ' ソートインジケータの描画メソッドをオーバーライドします。
    Public Overrides Sub PaintSortIndicator(ByVal g As Graphics, ByVal r As Rectangle, ByVal appearance As FarPoint.Win.Spread.Appearance, ByVal zoomFactor As Single)
        g.FillRectangle(New SolidBrush(Color.Red), r)
    End Sub 'PaintSortIndicator
    ' フィルタリングインジケータの描画メソッドをオーバーライドします。
    Public Overrides Sub PaintFilterIndicator(ByVal g As Graphics, ByVal r As Rectangle, ByVal appearance As FarPoint.Win.Spread.Appearance, ByVal zoomFactor As Single)
        g.FillRectangle(New SolidBrush(Color.Blue), r)
    End Sub 'PaintFilterIndicator
End Class

 

 

 


© MESCIUS inc. All rights reserved.