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 |