MESCIUS SPREAD for ASP.NET 10.0J > 開発者の手引き > データ操作 > ソート > ソートの概要 |
シートに表示するデータは、列または行単位で並べ替えることができます。通常は、シート内のすべての行が、特定列内の値によって並べ替えられます。これに対してSPREADでは、各種の並べ替えに対応したプロパティおよびメソッドを使用して、さまざまな方法で並べ替えを実行できます。
セル型は並び替えに影響しません。 並び替えは、セル内の値のデータ型に基づいて実行されます。 DateTime型のデータが入力されたセルを並び替える場合は、セルは日付順に並び替えられます。文字列型のデータが入力されたセルを並び替える場合は、セルはアルファベット順に並び替えられます。
なお、ソートが行われても、データモデル内のデータは並べ替えられません。ユーザーに表示されているデータだけが並べ替えられます。
ソートは、列ヘッダのダブルクリックにより行われるソートと、メソッドの実行によるコードで行われる方法があります。それぞれの詳細については、以下の項目で解説しています。
ユーザー操作によりソートが行われると、SortColumnCommand イベントが発生します。このイベント引数をカスタマイズすることにより、ソート結果に対して様々な処理を付与できます。詳細については、以下の項目で解説しています。
ソートが行われると、その列のヘッダに昇順または降順を表すインジケータが表示されます。ユーザー操作によるソートで、インジケータを非表示にするには、Column クラスのSortIndicator プロパティをSortIndicator.Noneに設定します。SortIndicator.AcendingまたはSortIndicator.Descending に設定すると、最初のソートが昇順または降順で行われます。
コードによるソートでは、メソッド引数によりインジケータの表示、非表示を設定します。
なお、このソートインジケータを示すアイコンを変更するには、FpSpread クラスのSetImage メソッドを使用します。第1引数には、SortAscendingImage フィールド およびSortDescendingImage フィールドを指定します。
次のサンプルコードは、ソートインジケータをカスタマイズする例です。
// ユーザー操作によるソートを許可します。 FpSpread1.ActiveSheetView.AllowSort = true; // 1列目だけインジケータを非表示にします。 FpSpread1.ActiveSheetView.Columns[1].SortIndicator = FarPoint.Web.Spread.Model.SortIndicator.None; // インジケータ画像を変更します。 FpSpread1.SetImage(FarPoint.Web.Spread.SpreadImages.SortAscending, "/images/ascend.png"); FpSpread1.SetImage(FarPoint.Web.Spread.SpreadImages.SortDescending, "/images/descend.png");
' ユーザー操作によるソートを許可します。 FpSpread1.ActiveSheetView.AllowSort = True ' 1列目だけインジケータを非表示にします。 FpSpread1.ActiveSheetView.Columns(1).SortIndicator = FarPoint.Web.Spread.Model.SortIndicator.None ' インジケータ画像を変更します。 FpSpread1.SetImage(FarPoint.Web.Spread.SpreadImages.SortAscending, "/images/ascend.png") FpSpread1.SetImage(FarPoint.Web.Spread.SpreadImages.SortDescending, "/images/descend.png")