PowerTools SPREAD for Windows Forms 8.0J > 開発者ガイド > データ操作 > フィルタリング > フィルタバーフィルタリング > フィルタバーフィルタリングの条件 |
フィルターバーに表示されているエディタに条件を入力した際、入力した値と行に設定されている値は以下のルールにより比較され、フィルタリングが実行されます。
セルに表示されているとおりの書式付きデータと入力条件を比較します。
データ モデル内に保存されている書式なしデータと入力条件を比較します。
FilterBarCellType のAutoFormat プロパティをTrueに設定し、書式を設定することで、フィルターバーのエディタに条件を設定する時に自動的に書式を設定することが可能になります。これにはFormatStringプロパティを使用できます。これによりコンテキストメニューに「等しい」が選択されている場合、明示的にユーザーが書式を入力する必要がなくなります。
次のサンプルコードは、通貨型セルが設定されている列(通貨書式が設定されている列)に対してFilterBarCellTypeで書式を設定しているサンプルです。
C# |
コードのコピー
|
---|---|
fpSpread1.ActiveSheet.AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.FilterBar; // 1列目に通貨型セルを設定 FarPoint.Win.Spread.CellType.CurrencyCellType cur = new FarPoint.Win.Spread.CellType.CurrencyCellType(); cur.Separator = ","; cur.ShowSeparator = true; fpSpread1.ActiveSheet.Columns[0].CellType = cur; // 1列目に通貨型セルを設定 FarPoint.Win.Spread.CellType.FilterBarCellType fbnum = new FarPoint.Win.Spread.CellType.FilterBarCellType(); fbnum.ContextMenuType = FarPoint.Win.Spread.CellType.FilterBarContextMenuType.Number; fbnum.AutoFormat = true;fbnum.FormatString = "C"; fpSpread1.ActiveSheet.FilterBar.Cells[0].CellType = fbnum; fpSpread1.ActiveSheet.Cells[0, 0].Value = 1000; fpSpread1.ActiveSheet.Cells[1, 0].Value = 2000; fpSpread1.ActiveSheet.Cells[2, 0].Value = 3000; fpSpread1.ActiveSheet.Cells[3, 0].Value = 4000; fpSpread1.ActiveSheet.Cells[4, 0].Value = 5000; |
Visual Basic |
コードのコピー
|
---|---|
FpSpread1.ActiveSheet.AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.FilterBar ' 1列目に通貨型セルを設定 Dim cur = New FarPoint.Win.Spread.CellType.CurrencyCellType() cur.Separator = "," cur.ShowSeparator = True FpSpread1.ActiveSheet.Columns(0).CellType = cur ' 1列目に通貨型セルを設定 Dim fbnum = New FarPoint.Win.Spread.CellType.FilterBarCellType() fbnum.ContextMenuType = FarPoint.Win.Spread.CellType.FilterBarContextMenuType.Number fbnum.AutoFormat = True fbnum.FormatString = "C" FpSpread1.ActiveSheet.FilterBar.Cells(0).CellType = fbnum FpSpread1.ActiveSheet.Cells(0, 0).Value = 1000 FpSpread1.ActiveSheet.Cells(1, 0).Value = 2000 FpSpread1.ActiveSheet.Cells(2, 0).Value = 3000 FpSpread1.ActiveSheet.Cells(3, 0).Value = 4000 FpSpread1.ActiveSheet.Cells(4, 0).Value = 5000 |