シートに表示するデータは、列または行単位で並べ替えることができます。通常は、シート内のすべての行が、特定列内の値によって並べ替えられます。これに対してSPREADでは、各種の並べ替えに対応したさまざまなプロパティおよびメソッドを使用して、さまざまな方法で並べ替えを実行できます。一般にデータの並べ替えは、以下のいずれかの方法で実行します。
製品は、並べ替えに関するさまざまなプロパティを提供しています。並べ替えの順序は、昇順(A から Z へ、0から9へ)または降順(Z から A へ、9から0へ)です。データを並べ替える際、比較基準とするキーを選択でき、キーに使用する列のヘッダに、ソート インジケータ(通常は矢印)を表示できます。比較方法は、SortInfoオブジェクトを使用してカスタマイズできます。このオブジェクトを使用して、並べ替えに関する各種のパラメータを設定し、たとえば、SheetViewクラスのSortRowsメソッドなどの並べ替えを実行するメソッドの引数に、このオブジェクトを指定します。
セル型は並び替えに影響しません。並び替えは、セル内の値のデータ型に基づいて実行されます。DateTime型のデータが入力されたセルを並び替える場合、セルは日付順に並び替えられます。文字列型のデータが入力されたセルを並び替える場合、セルはアルファベット順に並び替えられます。
列ヘッダをクリックして自動並べ替えを行った場合、またはシートのSortRowsメソッドを呼び出した場合、データモデルのデータは並べ替えられません。ユーザーに表示されているデータだけが並べ替えられます。この場合、並べ替えの前に非表示にされていたすべてのデータは、並べ替え後も非表示のままです。非表示の行が自動的に移動されるためです。並び替えた表示データをデータモデルの順序にリセットできます。これには、SheetViewクラスのModelsプロパティでSheetView.DocumentModelsオブジェクトを参照し、ResetViewRowIndexesメソッドまたはResetViewColumnIndexesメソッドを呼び出します。
シートのSortRangeメソッドを使用すると、データモデルのデータが並べ替えられます。非表示にされていたデータは表示される場合があり、表示されていたデータが非表示になる場合があります。データモデルのデータを並び替えた場合、この順序をリセットすることはできません。
データの並べ替えでは、セルの選択範囲を管理するSelectionモデルは並べ替えられません。選択された行を移動するには、FpSpreadクラスのAutoSortedColumnおよびAutoSortingColumnイベントで、選択領域を移動するためのコードを記述する必要があります。モデルの詳細については、「シートモデル」を参照してください。
シートのSortRangeメソッド以外の方法でシートの並べ替えを行うと、結合セルは非表示になります。 |