ナビゲーション リンクのスキップ
 新機能 の展開 新機能
 InputMan連携 の展開 InputMan連携
 マルチタッチ機能 の展開 マルチタッチ機能
 セル、行、列、ヘッダ の展開 セル、行、列、ヘッダ
 シート の展開 シート
 スタイル の展開 スタイル
 選択 の展開 選択
 セル型 の展開 セル型
 編集 の展開 編集
 ソート の縮小 ソート
 フィルタリング の展開 フィルタリング
 グループ化 の展開 グループ化
 ページング の展開 ページング
 スクロール の展開 スクロール
 データ連結 の展開 データ連結
 階層表示 の展開 階層表示
 コマンドバー の展開 コマンドバー
 チャート の展開 チャート
 数式 の展開 数式
 インポート/エクスポート の展開 インポート/エクスポート
 クライアント側スクリプト の展開 クライアント側スクリプト

固定行を除いたソート

SortColumnCommandイベントの引数SortFrozenRowsをFalseにすることで、 自動ソート時に固定行を除いてソートすることができます。

このサンプルでは、ソートを行いたい列のヘッダをダブルクリックしてください。 固定行である1行目と2行目を除いてソートされます。
 社員ID部署氏名性別生年月日年齢出身地血液型
11001人事部藤村 博道1973/03/2237香川県O
21002総務部田所 憲司1975/05/1335群馬県O
31003人事部岡部 瑞穂1955/07/1654鹿児島県A
41004営業部北野 進一1966/08/2143高知県O
51005営業部有馬 丈人1986/11/2123沖縄県O
61006経理部高島 海斗1951/12/0358千葉県B
71007総務部佐々木 直子1971/09/1438愛知県B
81008営業部石沢 幸吉1969/06/2140徳島県A
91009営業部丸田 孝治1957/12/0952鹿児島県B
101010総務部山本 信子1981/04/1029和歌山県A
111011人事部小嶋 博美1968/12/0641島根県AB
121012営業部高村 義治1980/12/1929熊本県O
131013経理部星野 舞1964/07/1145三重県O
141014営業部津村 文男1959/11/1350鳥取県A
151015人事部和泉 丈夫1969/11/2340愛知県O
161016人事部前原 章二1983/05/1427秋田県O
171017人事部飯田 靖1966/09/2843神奈川県AB
181018経理部北 眞子1950/06/1759沖縄県O
191019営業部福沢 菜々子1963/07/1146高知県A
201020営業部坂上 日菜1952/11/0857香川県A
211021営業部篠田 蘭1973/06/1137福岡県A
221022総務部岩井 賢1973/01/2637奈良県A
231023経理部安部 心音1961/03/0649秋田県B
241024経理部松木 清吾1965/09/1444奈良県O
251025総務部武内 敬1976/12/0433島根県AB
261026人事部荒木 陽花1954/02/0456熊本県O
271027営業部川崎 桜子1981/03/2329大分県A
281028営業部赤羽 清子1987/05/1523青森県A
291029営業部黒澤 孝吉1954/12/1755山形県A
301030営業部川嶋 俊男1979/09/1030青森県AB

ソースコード

別ウィンドウで表示
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class sort_unsortedrows : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            return;
        }

        // SPREADの設定
        InitSpread(FpSpread1);

        // シート設定
        InitSpreadStyles(FpSpread1.Sheets[0]);
    }

    private void InitSpread(FarPoint.Web.Spread.FpSpread spread)
    {
        spread.CssClass = "spreadStyle";
        spread.UseClipboard = false;
        spread.CommandBar.Visible = false;

        // データ連結
        System.Data.DataSet ds = new System.Data.DataSet();
        ds.ReadXml(MapPath("../App_Data/data30.xml"));
        spread.DataSource = ds;
    }

    private void InitSpreadStyles(FarPoint.Web.Spread.SheetView sheet)
    {
        // フォントサイズの設定
        sheet.DefaultStyle.Font.Size = FontUnit.Parse("80%");
        sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%");
        sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%");
        sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Parse("80%");

        // シート設定
        sheet.PageSize = sheet.RowCount;
        sheet.FrozenRowCount = 2;

        // 列幅の設定
        sheet.Columns[0].Width = 70;
        sheet.Columns[1].Width = 70;
        sheet.Columns[2].Width = 80;
        sheet.Columns[3].Width = 140;
        sheet.Columns[4].Width = 140;
        sheet.Columns[5].Width = 50;
        sheet.Columns[6].Width = 80;
        sheet.Columns[7].Width = 50;
        sheet.Columns[8].Width = 60;
        sheet.Columns[9].Width = 70;
        sheet.Columns[10].Width = 300;

        // 列の非表示
        sheet.Columns[3].Visible = false;
        sheet.Columns[4].Visible = false;
        sheet.Columns[10].Visible = false;

        // 縦方向の揃え位置を中央に設定
        sheet.DefaultStyle.VerticalAlign = VerticalAlign.Middle;

        // 自動ソートを有効化
        FpSpread1.ActiveSheetView.AllowSort = true;
    }

    protected void FpSpread1_SortColumnCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
    {
        // 固定行をソートしない
        e.SortFrozenRows = false;
    }
}
Partial Class sort_unsortedrows
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If IsPostBack Then
            Return
        End If

        ' SPREADの設定
        InitSpread(FpSpread1)

        ' シート設定
        InitSpreadStyles(FpSpread1.Sheets(0))
    End Sub

    Private Sub InitSpread(ByVal spread As FarPoint.Web.Spread.FpSpread)
        spread.CssClass = "spreadStyle"
        spread.UseClipboard = False
        spread.CommandBar.Visible = False

        ' データ連結
        Dim ds As New System.Data.DataSet()
        ds.ReadXml(MapPath("../App_Data/data30.xml"))
        spread.DataSource = ds
    End Sub

    Private Sub InitSpreadStyles(ByVal sheet As FarPoint.Web.Spread.SheetView)
        ' フォントサイズの設定
        sheet.DefaultStyle.Font.Size = FontUnit.Parse("80%")
        sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%")
        sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%")
        sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Parse("80%")

        ' シート設定
        sheet.PageSize = sheet.RowCount
        sheet.FrozenRowCount = 2

        ' 列幅の設定
        sheet.Columns(0).Width = 70
        sheet.Columns(1).Width = 70
        sheet.Columns(2).Width = 80
        sheet.Columns(3).Width = 140
        sheet.Columns(4).Width = 140
        sheet.Columns(5).Width = 50
        sheet.Columns(6).Width = 80
        sheet.Columns(7).Width = 50
        sheet.Columns(8).Width = 60
        sheet.Columns(9).Width = 70
        sheet.Columns(10).Width = 300

        ' 列の非表示
        sheet.Columns(3).Visible = False
        sheet.Columns(4).Visible = False
        sheet.Columns(10).Visible = False

        ' 縦方向の揃え位置を中央に設定
        sheet.DefaultStyle.VerticalAlign = VerticalAlign.Middle

        ' 自動ソートを有効化
        FpSpread1.ActiveSheetView.AllowSort = True
    End Sub

    Protected Sub FpSpread1_SortColumnCommand(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.SortColumnCommand
        ' 固定行をソートしない
        e.SortFrozenRows = False
    End Sub
End Class

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="unsortedrows.aspx.cs" Inherits="sort_unsortedrows" %>

<%@ Register Assembly="FarPoint.Web.SpreadJ" Namespace="FarPoint.Web.Spread" TagPrefix="FarPoint" %>

<asp:Content ID="Content1" ContentPlaceHolderID="HeaderPlaceHolder1" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <FarPoint:FpSpread ID="FpSpread1" runat="server" BorderColor="#A0A0A0" BorderStyle="Solid"
        BorderWidth="1px" onsortcolumncommand="FpSpread1_SortColumnCommand">
        <CommandBar BackColor="#F6F6F6" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
            ButtonShadowColor="ControlDark">
        </CommandBar>
        <Sheets>
            <FarPoint:SheetView SheetName="Sheet1">
            </FarPoint:SheetView>
        </Sheets>
    </FarPoint:FpSpread>
</asp:Content>