Spread.Sheets
データの並べ替え
Spread.Sheets > 開発者の手引き > データの管理 > データの並べ替え

ウィジェット内のデータを並べ替えることができます。また、並べ替えに使用する列/行インデックスを指定したり、並べ替え条件を指定することもできます。 複数の並べ替えキーを指定することもできます(特定の列または行を最初に並べ替え、次に2番目の列または行を並べ替え、以下同様に行います)。

データを並べ替えるには、sortRangeメソッドを使用します。並べ替えキー、昇順/降順を指定するには、sortRangeメソッドでsortInfoオブジェクトを使用します。

コードの使用

次のサンプルコードでは、いずれかのボタンを選択すると、最初の列が並べ替えられます。

JavaScript
コードのコピー

var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"),{sheetCount:3});
 var activeSheet = spread.getActiveSheet();
 activeSheet.setValue(0, 0, 10);
 activeSheet.setValue(1, 0, 100);
 activeSheet.setValue(2, 0, 50);
 activeSheet.setValue(3, 0, 40);
 activeSheet.setValue(4, 0, 80);
 activeSheet.setValue(5, 0, 1);
 activeSheet.setValue(6, 0, 65);
 activeSheet.setValue(7, 0, 20);
 activeSheet.setValue(8, 0, 30);
 activeSheet.setValue(9, 0, 35);

 $("#button1").click(function(){
      //ボタンをクリックするたびに、列1を昇順で並べ替えます。
     activeSheet.sortRange(-1, 0, -1, 1, true, [{index:0, ascending:true}]);
    });

 $("#button2").click(function(){
     // ボタンをクリックするたびに、列1を降順で並べ替えます。
      activeSheet.sortRange(-1, 0, -1, 1, true, [
        {index:0, ascending:false}
      ]);
  });
 // ページにコマンドボタンコントロールを追加します。
 <input type="button" id="button1" value="button1"/>
 <input type="button" id="button2" value="button2"/>

コードの使用

次のサンプルコードでは、ボタンを選択すると、sortInfoオブジェクトで指定した並べ替え条件を使用してデータが並べ替えられます。

JavaScript
コードのコピー
activeSheet.setRowCount(6);
activeSheet.setValue(0, 0, 10);
activeSheet.setValue(1, 0, 100);
activeSheet.setValue(2, 0, 100);
activeSheet.setValue(3, 0, 10);
activeSheet.setValue(4, 0, 5);
activeSheet.setValue(5, 0, 10);
activeSheet.setValue(0, 1, 10);
activeSheet.setValue(1, 1, 40);
activeSheet.setValue(2, 1, 10);
activeSheet.setValue(3, 1, 20);
activeSheet.setValue(4, 1, 10);
activeSheet.setValue(5, 1, 40);

    $("#button1").click(function(){
        // 1番目のキーが列1であり、2番目のキーが列2となるSortInfoオブジェクトを作成します。
        var sortInfo = [
            {index:0, ascending:true},
            {index:1, ascending:true}];
        /// 作成した並べ替え条件に基づき、全行を対象として並べ替えを実行します。
        activeSheet.sortRange(0, -1, 6, -1, true, sortInfo);
    });

// ページにコマンドボタンコントロールを追加します。
<input type="button" id="button1" value="button1"/>