PowerTools SPREAD for Windows Forms 8.0J
AutoFilterIndex プロパティ (ColumnHeader)


複数の列ヘッダ行があるときに、行フィルタインジケータを表示する列ヘッダ行を取得または設定します。
構文
'Declaration
 
Public Property AutoFilterIndex As Integer
'使用法
 
Dim instance As ColumnHeader
Dim value As Integer
 
instance.AutoFilterIndex = value
 
value = instance.AutoFilterIndex
public int AutoFilterIndex {get; set;}

プロパティ値

行のインデックスを表す Integer
解説

ヘッダに複数の列ヘッダ行がある場合は、このプロパティを設定することで、フィルタ インジケータを表示する行を指定できます。インデックスを指定するには、このプロパティを0から n-1 までのいずれかの値に設定します(0は一番上の行、n はヘッダの行数を示します)。n-1 よりも大きい値にすると、フィルタ インジケータは単に一番下の行に表示されます。

このプロパティの設定で、フィルタ インジケータを表示する行をたとえばヘッダ行3と指定し、その後列ヘッダ行の数を3未満に変更した場合、フィルタ インジケータは RowCount プロパティを -1に設定した場合と同様、一番下の行に表示されます。ただし、その後ヘッダ行の数を3以上に変更すると、フィルタ インジケータは再びヘッダ行3に表示されます。コンポーネントに表示される列ヘッダの行数は、RowCount プロパティで指定します。

このプロパティが効力を持つのは、Visible プロパティ(または SheetView.ColumnHeaderVisible プロパティ)が True に設定されていて、なおかつ列ヘッダ行が非表示でない場合です。

次のサンプルコードは、フィルタアイコンを表示する列ヘッダ内の行を指定します。
fpSpread1.ActiveSheet.ColumnHeaderRowCount = 3;
fpSpread1.ActiveSheet.ColumnHeader.AutoFilterIndex = 1;

FarPoint.Win.Spread.DefaultFilter df = new FarPoint.Win.Spread.DefaultFilter(fpSpread1.ActiveSheet);
df.ShowFilterInDropDown(1, new int[] {1, 2, 3, 4, 5, 6, 7, 8});

FarPoint.Win.Spread.NamedStyle instyle = new FarPoint.Win.Spread.NamedStyle();
FarPoint.Win.Spread.NamedStyle outstyle = new FarPoint.Win.Spread.NamedStyle();
instyle.BackColor = Color.Yellow;
outstyle.BackColor = Color.Aquamarine;

FarPoint.Win.Spread.FilterColumnDefinition fcd = new FarPoint.Win.Spread.FilterColumnDefinition(1);
FarPoint.Win.Spread.FilterColumnDefinition fcd1 = new FarPoint.Win.Spread.FilterColumnDefinition(2);
FarPoint.Win.Spread.FilterColumnDefinition fcd2 = new FarPoint.Win.Spread.FilterColumnDefinition(3);

FarPoint.Win.Spread.CustomFilterItem cfi = new FarPoint.Win.Spread.CustomFilterItem("Contains an 'A'", df);
fcd.CustomFilters.Add(cfi);

FarPoint.Win.Spread.StyleRowFilter srf = new FarPoint.Win.Spread.StyleRowFilter(fpSpread1.ActiveSheet, instyle, outstyle);
srf.AddColumn(fcd);
srf.AddColumn(fcd1);
srf.AddColumn(fcd2);

fpSpread1.ActiveSheet.RowFilter = srf;
FpSpread1.ActiveSheet.ColumnHeaderRowCount = 3
FpSpread1.ActiveSheet.ColumnHeader.AutoFilterIndex = 1

Dim df As New FarPoint.Win.Spread.DefaultFilter(FpSpread1.ActiveSheet)
df.ShowFilterInDropDown(1, New Integer() {1, 2, 3, 4, 5, 6, 7, 8})

Dim instyle As New FarPoint.Win.Spread.NamedStyle
Dim outstyle As New FarPoint.Win.Spread.NamedStyle
instyle.BackColor = Color.Yellow
outstyle.BackColor = Color.Aquamarine

Dim fcd As New FarPoint.Win.Spread.FilterColumnDefinition(1)
Dim fcd1 As New FarPoint.Win.Spread.FilterColumnDefinition(2)
Dim fcd2 As New FarPoint.Win.Spread.FilterColumnDefinition(3)

Dim cfi As New FarPoint.Win.Spread.CustomFilterItem("Contains an 'A'", df)
fcd.CustomFilters.Add(cfi)

Dim srf As New FarPoint.Win.Spread.StyleRowFilter(FpSpread1.ActiveSheet, instyle, outstyle)
srf.AddColumn(fcd)
srf.AddColumn(fcd1)
srf.AddColumn(fcd2)

FpSpread1.ActiveSheet.RowFilter = srf
参照

ColumnHeader クラス
ColumnHeader メンバ

 

 


© 2004-2015, GrapeCity inc. All rights reserved.