作成日: 2019/07/02 最終更新日: 2019/07/02
文書種別
使用方法
詳細
リリースノートの制限事項にも記載しておりますように、組み込みの自動ソート機能によってソートされるのは表示上のデータのみであり、実データの並び順(データモデル上の並び順)は変更されません。
このため、条件付き書式が設定されている状態でソートを実行後、条件付き書式の設定が再反映されることはありません。
下記のようにSortColumnCommandイベントで組み込みのソートをキャンセルし、Sortメソッドを使用する方法を検討してください。
◎サンプルコード(VB)
◎サンプルコード(C#)
このため、条件付き書式が設定されている状態でソートを実行後、条件付き書式の設定が再反映されることはありません。
下記のようにSortColumnCommandイベントで組み込みのソートをキャンセルし、Sortメソッドを使用する方法を検討してください。
◎サンプルコード(VB)
Private Sub FpSpread1_SortColumnCommand(sender As Object, e As SpreadCommandEventArgs) Handles FpSpread1.SortColumnCommand
' 組み込みソートのキャンセル(ソートインジケータの表示もキャンセルされます)
e.Handled = True
' ソートの対象列番号の取得
Dim col As Integer = e.CommandArgument
' ソートの方向(昇順か降順かの別)の取得・設定
Dim isAscending As Boolean = True
Dim tag As Object = FpSpread1.ActiveSheetView.Columns(col).Tag
If Not tag Is Nothing Then
isAscending = Not FpSpread1.ActiveSheetView.Columns(col).Tag
End If
FpSpread1.ActiveSheetView.Columns(col).Tag = isAscending
' データモデルのソート
FpSpread1.ActiveSheetView.Sort(0, 0, FpSpread1.ActiveSheetView.RowCount, FpSpread1.ActiveSheetView.ColumnCount, True, New SortInfo() {New SortInfo(col, isAscending)})
End Sub
' 組み込みソートのキャンセル(ソートインジケータの表示もキャンセルされます)
e.Handled = True
' ソートの対象列番号の取得
Dim col As Integer = e.CommandArgument
' ソートの方向(昇順か降順かの別)の取得・設定
Dim isAscending As Boolean = True
Dim tag As Object = FpSpread1.ActiveSheetView.Columns(col).Tag
If Not tag Is Nothing Then
isAscending = Not FpSpread1.ActiveSheetView.Columns(col).Tag
End If
FpSpread1.ActiveSheetView.Columns(col).Tag = isAscending
' データモデルのソート
FpSpread1.ActiveSheetView.Sort(0, 0, FpSpread1.ActiveSheetView.RowCount, FpSpread1.ActiveSheetView.ColumnCount, True, New SortInfo() {New SortInfo(col, isAscending)})
End Sub
◎サンプルコード(C#)
private void FpSpread1_SortColumnCommand(object sender, SpreadCommandEventArgs e) {
// 組み込みソートのキャンセル(ソートインジケータの表示もキャンセルされます)
e.Handled = true;
// ソートの対象列番号の取得
int col = e.CommandArgument;
// ソートの方向(昇順か降順かの別)の取得・設定
bool isAscending = true;
object tag = FpSpread1.ActiveSheetView.Columns[col].Tag;
if (!(tag == null)) {
isAscending = !FpSpread1.ActiveSheetView.Columns[col].Tag;
}
FpSpread1.ActiveSheetView.Columns[col].Tag = isAscending;
// データモデルのソート
FpSpread1.ActiveSheetView.Sort(0, 0, FpSpread1.ActiveSheetView.RowCount, FpSpread1.ActiveSheetView.ColumnCount, true, new SortInfo[] { new SortInfo(col, isAscending)});
}
// 組み込みソートのキャンセル(ソートインジケータの表示もキャンセルされます)
e.Handled = true;
// ソートの対象列番号の取得
int col = e.CommandArgument;
// ソートの方向(昇順か降順かの別)の取得・設定
bool isAscending = true;
object tag = FpSpread1.ActiveSheetView.Columns[col].Tag;
if (!(tag == null)) {
isAscending = !FpSpread1.ActiveSheetView.Columns[col].Tag;
}
FpSpread1.ActiveSheetView.Columns[col].Tag = isAscending;
// データモデルのソート
FpSpread1.ActiveSheetView.Sort(0, 0, FpSpread1.ActiveSheetView.RowCount, FpSpread1.ActiveSheetView.ColumnCount, true, new SortInfo[] { new SortInfo(col, isAscending)});
}
旧文書番号
84184