PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > データ操作 > フィルタリング > コードによるフィルタリング |
ユーザー操作によるフィルタリングだけではなく、コードからフィルタリングの実行および解除を行うことが可能です。
SheetView クラスのAutoFilterMode プロパティを使用してフィルタリングの種類を設定します。RowFilter プロパティ に非表示フィルタまたはスタイルフィルタオブジェクトを設定し、フィルタ結果の表示方法や、フィルタリングを行う列を指定します。
フィルタリングを実行するには、AutoFilterColumn メソッドを呼び出します。
フィルタリングを解除するには、AutoFilterReset メソッドを実行します。
次のサンプルコードは、Button1のクリックでフィルタリングを実行し、Button2のクリックでフィルタリングを解除する例です。
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; FpSpread1.ActiveSheetView.Cells[0, 0].Value = "apple"; FpSpread1.ActiveSheetView.Cells[1, 0].Value = "orange"; FpSpread1.ActiveSheetView.Cells[2, 0].Value = "pear"; // 1列目に非表示フィルタを設定します。 FarPoint.Web.Spread.FilterColumnDefinition fcd = new FarPoint.Web.Spread.FilterColumnDefinition(0); FarPoint.Web.Spread.HideRowFilter hf = new FarPoint.Web.Spread.HideRowFilter(FpSpread1.ActiveSheetView); hf.AddColumn(fcd); FpSpread1.ActiveSheetView.RowFilter = hf; } protected void Button1_Click(object sender, EventArgs e) { // クライアント側の変更を確定します。 FpSpread1.SaveChanges(); // 1列目を"orange"でフィルタリングします. FpSpread1.ActiveSheetView.AutoFilterColumn(0, "orange"); } protected void Button2_Click(object sender, EventArgs e) { // クライアント側の変更を確定 FpSpread1.SaveChanges(); // 1列目のフィルタリングをリセットします FpSpread1.ActiveSheetView.AutoFilterReset(0); }
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If IsPostBack Then Return End If FpSpread1.ActiveSheetView.Cells(0, 0).Value = "apple" FpSpread1.ActiveSheetView.Cells(1, 0).Value = "orange" FpSpread1.ActiveSheetView.Cells(2, 0).Value = "pear" ' 1列目に非表示フィルタを設定します。 Dim fcd As New FarPoint.Web.Spread.FilterColumnDefinition(0) Dim hf As New FarPoint.Web.Spread.HideRowFilter(FpSpread1.ActiveSheetView) hf.AddColumn(fcd) FpSpread1.ActiveSheetView.RowFilter = hf End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click ' クライアント側の変更を確定します。 FpSpread1.SaveChanges() ' 1列目を"orange"でフィルタリングします。 FpSpread1.ActiveSheetView.AutoFilterColumn(0, "orange") End Sub Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click ' クライアント側の変更を確定します。 FpSpread1.SaveChanges() ' 1列目のフィルタリングをリセットします。 FpSpread1.ActiveSheetView.AutoFilterReset(0) End Sub