MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
インジケータに独自のアイコンを表示させる

自動的に表示される行フィルタリング用のインジケータは自由に変更することができます。(FilterState列挙体による)

※このサンプルはシートのAutoFilterModeがFilterGadgetまたはEnhancedContextMenuに設定されている場合のみ有効です。

【実行例】

インジケータの変更

  • 変更されたインジケータは、行フィルタリング可能な全ての列に反映されます。(シート/列単位など個別に設定することはできません)
  • 列ヘッダセル内におけるインジケータの表示位置(XY座標)は自動的に設定されます。(変更不可)
  • シート上にてフィルタリングされた行は一時的に非表示となるだけで、実際のデータには影響を与えません。そのため、Excelファイルへのエクスポート時には全ての行情報が出力されます。

 private void Form1_Load(object sender, System.EventArgs e)
 {

   //自動フィルタ機能を有効にします
   fpSpread1.ActiveSheet.Columns[0,1].AllowAutoFilter = true;
   //自動フィルタのフィルタガジェットを表示します
   fpSpread1.ActiveSheet.AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.FilterGadget;

   FarPoint.Win.Spread.SpreadView sv = fpSpread1.GetRootWorkbook();

   //行フィルタリング未実施中のアイコンを設定します
   sv.SetImage(FarPoint.Win.Spread.SpreadView.FilterInactive, Image.FromFile("画像ファイルパス名"));
   //行フィルタリング実施中のアイコンを設定します
   sv.SetImage(FarPoint.Win.Spread.SpreadView.FilterActive, Image.FromFile("画像ファイルパス名"));

   fpSpread1.ActiveSheet.DefaultStyle.CellType = new FarPoint.Win.Spread.CellType.TextCellType();
   fpSpread1.ActiveSheet.SetText(0, 0, "Fender");
   fpSpread1.ActiveSheet.SetText(1, 0, "Gibson");
   fpSpread1.ActiveSheet.SetText(2, 0, "Fender");
   fpSpread1.ActiveSheet.SetText(3, 0, "Ibanez");
   fpSpread1.ActiveSheet.SetText(4, 0, "Gibson");
   fpSpread1.ActiveSheet.SetText(5, 0, "YAMAHA");
   fpSpread1.ActiveSheet.SetText(0, 1, "AST-100 DMC");
   fpSpread1.ActiveSheet.SetText(1, 1, "Les Paul Standard Double Cut Plus");
   fpSpread1.ActiveSheet.SetText(2, 1, "ST58-70TX");
   fpSpread1.ActiveSheet.SetText(3, 1, "AGS83B");
   fpSpread1.ActiveSheet.SetText(4, 1, "Les Paul Supreme");
   fpSpread1.ActiveSheet.SetText(5, 1, "ATTITUDE-Limited II");
   fpSpread1.ActiveSheet.SetColumnWidth(0, 90);
   fpSpread1.ActiveSheet.SetColumnWidth(1, 210);

 }
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

   '自動フィルタ機能を有効にします
   FpSpread1.ActiveSheet.Columns(0,1).AllowAutoFilter = True
   '自動フィルタのフィルタガジェットを表示します
   FpSpread1.ActiveSheet.AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.FilterGadget

   Dim sv As FarPoint.Win.Spread.SpreadView = FpSpread1.GetRootWorkbook()

   '行フィルタリング未実施中のアイコンを設定します
   sv.SetImage(FarPoint.Win.Spread.SpreadView.FilterInactive, Image.FromFile("画像ファイルパス名"))
   '行フィルタリング実施中のアイコンを設定します
   sv.SetImage(FarPoint.Win.Spread.SpreadView.FilterActive, Image.FromFile("画像ファイルパス名"))

   FpSpread1.ActiveSheet.DefaultStyle.CellType = New FarPoint.Win.Spread.CellType.TextCellType
   FpSpread1.ActiveSheet.SetText(0, 0, "Fender")
   FpSpread1.ActiveSheet.SetText(1, 0, "Gibson")
   FpSpread1.ActiveSheet.SetText(2, 0, "Fender")
   FpSpread1.ActiveSheet.SetText(3, 0, "Ibanez")
   FpSpread1.ActiveSheet.SetText(4, 0, "Gibson")
   FpSpread1.ActiveSheet.SetText(5, 0, "YAMAHA")
   FpSpread1.ActiveSheet.SetText(0, 1, "AST-100 DMC")
   FpSpread1.ActiveSheet.SetText(1, 1, "Les Paul Standard Double Cut Plus")
   FpSpread1.ActiveSheet.SetText(2, 1, "ST58-70TX")
   FpSpread1.ActiveSheet.SetText(3, 1, "AGS83B")
   FpSpread1.ActiveSheet.SetText(4, 1, "Les Paul Supreme")
   FpSpread1.ActiveSheet.SetText(5, 1, "ATTITUDE-Limited II")
   FpSpread1.ActiveSheet.SetColumnWidth(0, 90)
   FpSpread1.ActiveSheet.SetColumnWidth(1, 210)

 End Sub

 

 


© MESCIUS inc. All rights reserved.