MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
セル範囲をソートする
MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集 > ソート > セル範囲をソートする

IRangeインターフェースのAutoFilterメソッドでセル範囲に対してフィルタリングを設定してから、ISortインターフェースで並び替えフィールドを設定してソートを実行します。

新しいスタイルシステム(LegacyBehaviorsプロパティがStyleを含まない場合)で有効です。

【実行例】

 private void Form1_Load(object sender, EventArgs e)
 {
  // データを設定
  fpSpread1.ActiveSheet.SetValue(1, 0, 10);
  fpSpread1.ActiveSheet.SetValue(2, 0, 100);
  fpSpread1.ActiveSheet.SetValue(3, 0, 50);
  fpSpread1.ActiveSheet.SetValue(4, 0, 40);
  fpSpread1.ActiveSheet.SetValue(5, 0, 80);
  fpSpread1.ActiveSheet.SetValue(6, 0, 90);

  // セル範囲にフィルタリングを設定
  fpSpread1.AsWorkbook().ActiveSheet.Cells["A1:A7"].AutoFilter();

  // 降順でソート
  GrapeCity.Spreadsheet.ISort filterSort = fpSpread1.AsWorkbook().ActiveSheet.AutoFilter.Sort;
  filterSort.SortFields.Add(0, GrapeCity.Spreadsheet.SortOn.Value, GrapeCity.Spreadsheet.SortOrder.Descending);
  filterSort.Apply();
 }
 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  ' データを設定
  FpSpread1.ActiveSheet.SetValue(1, 0, 10)
  FpSpread1.ActiveSheet.SetValue(2, 0, 100)
  FpSpread1.ActiveSheet.SetValue(3, 0, 50)
  FpSpread1.ActiveSheet.SetValue(4, 0, 40)
  FpSpread1.ActiveSheet.SetValue(5, 0, 80)
  FpSpread1.ActiveSheet.SetValue(6, 0, 90)

  ' セル範囲にフィルタリングを設定
  FpSpread1.AsWorkbook().ActiveSheet.Cells("A1:A7").AutoFilter()

  ' 降順でソート
  Dim filterSort As GrapeCity.Spreadsheet.ISort = FpSpread1.AsWorkbook().ActiveSheet.AutoFilter.Sort
  filterSort.SortFields.Add(0, GrapeCity.Spreadsheet.SortOn.Value, GrapeCity.Spreadsheet.SortOrder.Descending)
  filterSort.Apply()
 End Sub