MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
インジケータの表示位置(行インデックス)を変更する

複数行の列ヘッダを定義している場合、ColumnクラスのAutoFilterIndexプロパティを設定することでインジケータの表示位置(行インデックス)を列単位で変更することができます。なお、列ヘッダセルの結合状態によってはインジケータが表示されないこともありますが、この際にも本プロパティの設定によって表示位置を明示的に指定する必要があります。

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

【実行例】

インジケータ位置の変更

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

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

  // 自動フィルタ機能を有効にします
  fpSpread1.ActiveSheet.ColumnHeader.RowCount = 3;
  fpSpread1.ActiveSheet.Columns[0, 2].AllowAutoFilter = true;

  // インジケータを表示させるインデックスを列ごとに変更します
  fpSpread1.ActiveSheet.Columns[0].AutoFilterIndex = 0;
  fpSpread1.ActiveSheet.Columns[1].AutoFilterIndex = 1;
  fpSpread1.ActiveSheet.Columns[2].AutoFilterIndex = 2;

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

  ' 自動フィルタ機能を有効にします
  FpSpread1.ActiveSheet.ColumnHeader.RowCount = 3
  FpSpread1.ActiveSheet.Columns(0, 2).AllowAutoFilter = True

  ' インジケータを表示させるインデックスを列ごとに変更します
  FpSpread1.ActiveSheet.Columns(0).AutoFilterIndex = 0
  FpSpread1.ActiveSheet.Columns(1).AutoFilterIndex = 1
  FpSpread1.ActiveSheet.Columns(2).AutoFilterIndex = 2

 End Sub

 

 


© MESCIUS inc. All rights reserved.