[]
        
(Showing Draft Content)

GC.Spread.Sheets.Filter.RowFilterBase

クラス: RowFilterBase

Sheets.Filter.RowFilterBase

階層

Table of contents

コンストラクタ

プロパティ

メソッド

コンストラクタ

constructor

new RowFilterBase(range)

シートの行をフィルタリングするための行フィルタをサポートする行フィルタベースを表します。

パラメータ

名前 説明
range Range フィルタ範囲。

プロパティ

extendedRange

extendedRange: Range

行フィルターの拡張範囲を表します。


range

range: Range

行フィルタの範囲を表します。


typeName

typeName: string

シリアル化のサポートに使用される型名の文字列を表します。

メソッド

addFilterItem

addFilterItem(col, condition): void

指定したフィルタを行フィルタに追加します。

実例

sheet.setRowCount(3);
sheet.setColumnCount(1);
sheet.setArray(0, 0,
    [
        [ 1 ],
        [ 2 ],
        [ 3 ]
    ]);
sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(-1, -1, -1, -1)));
var condition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.textCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.TextCompareType.equalsTo,expected: '3'});
sheet.rowFilter().addFilterItem(0, condition);
sheet.rowFilter().filter(0);

パラメータ

名前 説明
col number 列インデックス。
condition Condition | Condition[] フィルタリングする条件。

戻り値

void


filter

filter(col?): void

指定した列をフィルタリングします。

実例

sheet.setRowCount(2);
sheet.setColumnCount(1);
sheet.setArray(0, 0,
    [
        [ "a" ],
        [ "b" ]
    ]);
sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(-1, -1, -1, -1)));
var condition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.textCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.TextCompareType.equalsTo,expected: 'a'});
var rowFilter = sheet.rowFilter();
rowFilter.addFilterItem(0, condition);
rowFilter.filter(0);

パラメータ

名前 説明
col? number フィルタリングする列のインデックス。これを省略した場合、範囲内のすべての列がフィルタリングされます。

戻り値

void


filterButtonVisible

filterButtonVisible(col?, value?): any

シート列のフィルタボタンが表示されるかどうかを取得または設定します。

実例

sheet.setArray(2, 2,
    [
        [ 1, 4 ],
        [ 2, 5 ],
        [ 3, 6 ]
    ] );
sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(2, 2, 3, 2)));
console.log(sheet.rowFilter().filterButtonVisible()); // true
sheet.rowFilter().filterButtonVisible(2, false);
console.log(sheet.rowFilter().filterButtonVisible(2)); // false
console.log(sheet.rowFilter().filterButtonVisible(3)); // true

パラメータ

名前
col? number | boolean
value? boolean

戻り値

any

 パラメーターなし: すべてのフィルタボタンが表示されない場合はfalse、それ以外の場合はtrue。
 パラメーター1個(col): 指定した列のフィルタボタンが表示されない場合はfalse、それ以外の場合はtrue。
 パラメーター1個(value): <c>GC.Spread.Sheets.Filter.RowFilterBase</c>がすべてのフィルタボタンを表示(true)または非表示(false)に設定します。
 パラメーター2個(col、value): <c>GC.Spread.Sheets.Filter.RowFilterBase</c>が指定した列のフィルタボタンを表示(true)または非表示(false)に設定します。

fromJSON

fromJSON(settings): void

指定したJSON文字列からオブジェクト状態をロードします。

パラメータ

名前 説明
settings Object 逆シリアル化された行フィルタのデータ。

戻り値

void


getFilterItems

getFilterItems(col): Condition[]

指定した列のフィルタを取得します。

実例

sheet.getCell(0, 0).value("a");
sheet.getCell(0, 1).value("b");
sheet.getCell(1, 0).value("ac");
sheet.getCell(1, 1).value("bd");
sheet.rowFilter( new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range( -1, -1, -1, -1)));
var condition1 =  new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.textCondition, { compareType: GC.Spread.Sheets.ConditionalFormatting.TextCompareType.equalsTo,expected: 'a' });
var condition2 = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.textCondition, { compareType: GC.Spread.Sheets.ConditionalFormatting.TextCompareType.equalsTo,beginsWith: '' });
sheet.rowFilter().addFilterItem(0, condition1);
sheet.rowFilter().addFilterItem(1, condition2);
console.log(sheet.rowFilter().getFilterItems(0)); // 結果は配列、長さは 1、項目は条件 1 に等しいです。

パラメータ

名前 説明
col number 列インデックス。

戻り値

Condition[]

指定した列に属する条件を含むコレクションを返します。


getFilteredItems

getFilteredItems(): Condition[]

すべての適用済みフィルタ条件を取得します。

実例

sheet.setRowCount(3);
sheet.setColumnCount(2);
sheet.setArray(0, 0,
    [
        [ 1, 2 ],
        [ 3, 4 ],
        [ 5, 6 ]
    ]);
sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(-1, -1, -1, -1)));
var condition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.numberCondition, { compareType: GC.Spread.Sheets.ConditionalFormatting.GeneralComparisonOperators.greaterThan, expected: 1 });
var condition1 = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.numberCondition, { compareType: GC.Spread.Sheets.ConditionalFormatting.GeneralComparisonOperators.greaterThan, expected: 4 });
sheet.rowFilter().addFilterItem(0, condition);
sheet.rowFilter().addFilterItem(1, condition1);
console.log(sheet.rowFilter().getFilteredItems().length); // 0
sheet.rowFilter().filter();
console.log(sheet.rowFilter().getFilteredItems().length); // 2
sheet.rowFilter().removeFilterItems(0);
console.log(sheet.rowFilter().getFilteredItems().length); // 1
sheet.rowFilter().removeFilterItems(1);
console.log(sheet.rowFilter().getFilteredItems().length); // 0

戻り値

Condition[]

すべての適用済みフィルタ条件を含むコレクションを返します。


getSortState

getSortState(col): SortState

現在のソート状態を取得します。

実例

sheet.setArray(0, 0, [
    [ 4 ],
    [ 3 ],
    [ 2 ],
    [ 1 ],
    [ 0 ]
]);
sheet.rowFilter( new GC.Spread.Sheets.Filter.HideRowFilter( new GC.Spread.Sheets.Range( 0, 0, 5, 1 ) ) );
sheet.rowFilter().addFilterItem( 0, new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.numberCondition, { compareType: GC.Spread.Sheets.ConditionalFormatting.GeneralComparisonOperators.greaterThan, expected: 2 }));
sheet.rowFilter().filter(0);
sheet.rowFilter().sortColumn(0, false);
console.log(sheet.rowFilter().getSortState(0)); // 2

パラメータ

名前 説明
col number 列インデックス。

戻り値

SortState

現在のフィルタのソート状態。


isFiltered

isFiltered(col?): boolean

行または指定した列がフィルタリングされているかどうかを示す値を取得します。

実例

// 次のサンプルコードは、isFilteredメソッドを使用します。
activeSheet.setValue(0, 0, "North");
activeSheet.setValue(1, 0, "South");
activeSheet.setValue(2, 0, "East");
activeSheet.setValue(3, 0, "South");
activeSheet.setValue(4, 0, "North");
activeSheet.setValue(5, 0, "North");
activeSheet.setValue(6, 0, "West");
activeSheet.setColumnWidth(0, 80);
// 行フィルタを設定します。
activeSheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(0, 0, 7, 1)));
// ボタン
$("#button1").click(function () {
    var rowFilter = spread.getActiveSheet().rowFilter();
    if (rowFilter.isFiltered(0)) {
        alert("Row-filtering executed for Column1");
    } else {
        alert("Row-filtering not executed for Column1");
    }
});
// ボタンコントロールをページを追加します。
<input type="button" id="button1" value="button1"/>

パラメータ

名前
col? number

戻り値

boolean

パラメーターなし: 一部の行がフィルタリングされている場合はtrue、それ以外の場合はfalse。パラメーター1個(col): 指定した列がフィルタリングされている場合はtrue、それ以外の場合はfalse


isRowFilteredOut

isRowFilteredOut(row): boolean

指定した行がフィルタに一致していないかどうかを判定します。

実例

sheet.setRowCount(2);
sheet.setColumnCount(1);
sheet.setArray(0, 0,
    [
        [ 1 ],
        [ 2 ]
    ] );
sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(-1, -1, -1, -1)));
var condition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.textCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.TextCompareType.equalsTo,expected: '2'});
sheet.rowFilter().addFilterItem(0, condition);
sheet.rowFilter().filter(0);
sheet.addRows(1, 1);
console.log(sheet.rowFilter().isFiltered()); // true
console.log(sheet.rowFilter().isRowFilteredOut(0)); // true
console.log(sheet.rowFilter().isRowFilteredOut(1)); // false

パラメータ

名前 説明
row number 行インデックス。

戻り値

boolean

行がフィルタに一致していない場合はtrue、それ以外の場合はfalse


onFilter

onFilter(args): void

列がフィルタリングまたはフィルタリング解除されたときにアクションを実行します。

実例

sheet.setRowCount(3);
sheet.setColumnCount(2);
sheet.setArray(0, 0,
    [
        [ 1, 2 ],
        [ 3, 4 ],
        [ 5, 6 ]
    ]);
function HighLightFilter(range) {
    GC.Spread.Sheets.Filter.RowFilterBase.call(this, range);
}
HighLightFilter.prototype = new  GC.Spread.Sheets.Filter.RowFilterBase(new GC.Spread.Sheets.Range(-1, -1, -1, -1));
var doFilterCalled = false;
HighLightFilter.prototype.onFilter = function(args) {
    if ( args.action ===  GC.Spread.Sheets.Filter.FilterActionType.filter ) {
        doFilterCalled = true;
    }
};
sheet.rowFilter(new HighLightFilter(new GC.Spread.Sheets.Range(-1, -1, -1, -1)));
var condition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.numberCondition, { compareType: GC.Spread.Sheets.ConditionalFormatting.GeneralComparisonOperators.greaterThan, expected: 1 });
sheet.rowFilter().addFilterItem(0, condition);
sheet.rowFilter().filter();
console.log(doFilterCalled); // true

パラメータ

名前 説明
args IFilteredArgs actionsheetrangefilteredRowsfilteredOutRowscolumnsを含むオブジェクト。

戻り値

void


openFilterDialog

openFilterDialog(filterButtonHitInfo): void

ユーザーがフィルタボタンをクリックしたときにフィルタダイアログを開きます。

実例

sheet.setRowCount(3);
sheet.setColumnCount(2);
sheet.setArray(0, 0,
    [
        [ 1, 2 ],
        [ 3, 4 ],
        [ 5, 6 ]
    ]);
function HighLightFilter(range) {
    GC.Spread.Sheets.Filter.RowFilterBase.call(this, range);
}
HighLightFilter.prototype = new  GC.Spread.Sheets.Filter.RowFilterBase(new GC.Spread.Sheets.Range(-1, -1, -1, -1));
HighLightFilter.prototype.openFilterDialog = function(args) {
    console.log(args.row, args.col);
};
sheet.rowFilter(new HighLightFilter(new GC.Spread.Sheets.Range(-1, -1, -1, -1)));

パラメータ

名前 説明
filterButtonHitInfo IFilterButtonHitInfo フィルタボタンに関するヒットテスト情報。

戻り値

void


removeFilterItems

removeFilterItems(col): void

指定したフィルタを削除します。

実例

sheet.setRowCount(3);
sheet.setColumnCount(1);
sheet.setArray(0, 0,
    [
        [ 1 ],
        [ 2 ],
        [ 3 ]
    ]);
sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range( -1, -1, -1, -1)));
var condition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.textCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.TextCompareType.equalsTo, expected: '3'});
var rowFilter = sheet.rowFilter();
rowFilter.addFilterItem(0, condition);
rowFilter.removeFilterItems(0);

パラメータ

名前 説明
col number 列インデックス。

戻り値

void


reset

reset(): void

すべてのフィルタをクリアします。

実例

sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(-1, -1, -1, -1)));
sheet.rowFilter().reset();
console.log(sheet.rowFilter().isFiltered()); // false

戻り値

void


sortColumn

sortColumn(col, ascending): void

指定した列を指定した順にソートします。

実例

sheet.setArray(0, 0, [
    [ 4 ],
    [ 3 ],
    [ 2 ],
    [ 1 ],
    [ 0 ]
]);
sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(0, 0, 5, 1)));
sheet.rowFilter().addFilterItem(0, new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.numberCondition, { compareType: GC.Spread.Sheets.ConditionalFormatting.GeneralComparisonOperators.greaterThan, expected: 2 }));
sheet.rowFilter().filter(0);
sheet.rowFilter().sortColumn(0, true);

パラメータ

名前 説明
col number 列インデックス。
ascending boolean 昇順にソートする場合、trueに設定します。

戻り値

void


toJSON

toJSON(): Object

オブジェクト状態をJSON文字列に保存します。

戻り値

Object

行フィルタのデータ。


unfilter

unfilter(col?): void

指定した列からフィルタを削除します。

実例

sheet.setRowCount(2);
sheet.setColumnCount(1);
sheet.setArray(0, 0,
    [
        [ "a" ],
        [ "b" ]
    ]);
sheet.rowFilter(new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(-1, -1, -1, -1)));
var condition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.textCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.TextCompareType.equalsTo,expected: 'a'});
var rowFilter = sheet.rowFilter();
rowFilter.addFilterItem(0, condition);
rowFilter.unfilter();

パラメータ

名前
col? number

戻り値

void