複数のソート条件を指定することは出来ますか?
対象製品
SPREAD for Windows Forms 7.0J
詳細
SheetViewクラスより提供されているSortRowsメソッド呼び出し時にSortInfoオブジェクトの配列を渡すことで、指定したソート条件に基づいたシート内の行範囲の並べ替えを行います。以下のサンプルでは、ソート条件を第1列目~第3列目の順で指定しています。詳細については製品ヘルプをご参照ください。
◎サンプルコード(VB)
◎サンプルコード(C#)
※ 同一データ(ソート範囲のデータがすべて同じ場合)のソート結果は保証されません(並び順不定などの現象が発生します)。その際には複数のソート条件の指定を行ってください。
※ 昇順/降順共に空白セルは最後にソートされます。
※ 昇順/降順共に空白セルは最後にソートされます。
◎サンプルコード(VB)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim si(2) As FarPoint.Win.Spread.SortInfo
si(0) = New FarPoint.Win.Spread.SortInfo(0, True)
si(1) = New FarPoint.Win.Spread.SortInfo(1, True)
si(2) = New FarPoint.Win.Spread.SortInfo(2, True)
FpSpread1.ActiveSheet.SortRows(0, FpSpread1.ActiveSheet.RowCount, si)
End Sub
Dim si(2) As FarPoint.Win.Spread.SortInfo
si(0) = New FarPoint.Win.Spread.SortInfo(0, True)
si(1) = New FarPoint.Win.Spread.SortInfo(1, True)
si(2) = New FarPoint.Win.Spread.SortInfo(2, True)
FpSpread1.ActiveSheet.SortRows(0, FpSpread1.ActiveSheet.RowCount, si)
End Sub
◎サンプルコード(C#)
private void button1_Click(object sender, System.EventArgs e)
{
FarPoint.Win.Spread.SortInfo[] si = new FarPoint.Win.Spread.SortInfo[3];
si[0] = new FarPoint.Win.Spread.SortInfo(0, true);
si[1] = new FarPoint.Win.Spread.SortInfo(1, true);
si[2] = new FarPoint.Win.Spread.SortInfo(2, true);
fpSpread1.ActiveSheet.SortRows(0, fpSpread1.ActiveSheet.RowCount, si);
}
{
FarPoint.Win.Spread.SortInfo[] si = new FarPoint.Win.Spread.SortInfo[3];
si[0] = new FarPoint.Win.Spread.SortInfo(0, true);
si[1] = new FarPoint.Win.Spread.SortInfo(1, true);
si[2] = new FarPoint.Win.Spread.SortInfo(2, true);
fpSpread1.ActiveSheet.SortRows(0, fpSpread1.ActiveSheet.RowCount, si);
}
関連情報
- 列ソートを行ってもデータモデルの並び順が変更されません(ソートした並びでExcelファイルにエクスポートされません)
- 行連結した列ヘッダにソートインジケーターが表示されません。また、ソートインジケーターの表示/非表示を制御することは出来ますか?
- 結合セルが含まれるスプレッドシートでは並べ替えを実行できませんが、対応方法はありますか?
- 独自のソートロジックで行を並び替えたい
- 自動ソート実行時に複数のソート条件を指定する方法
キーワード
「ソート」