固定行を除いたソート
SortColumnCommandイベントの引数SortFrozenRowsをFalseにすることで、
自動ソート時に固定行を除いてソートすることができます。
このサンプルでは、ソートを行いたい列のヘッダをダブルクリックしてください。
固定行である1行目と2行目を除いてソートされます。
| 社員ID | 部署 | 氏名 | 性別 | 生年月日 | 年齢 | 出身地 | 血液型 |
1 | 1001 | 人事部 | 藤村 博道 | 男 | 1973/03/22 | 37 | 香川県 | O |
2 | 1002 | 総務部 | 田所 憲司 | 男 | 1975/05/13 | 35 | 群馬県 | O |
3 | 1003 | 人事部 | 岡部 瑞穂 | 女 | 1955/07/16 | 54 | 鹿児島県 | A |
4 | 1004 | 営業部 | 北野 進一 | 男 | 1966/08/21 | 43 | 高知県 | O |
5 | 1005 | 営業部 | 有馬 丈人 | 男 | 1986/11/21 | 23 | 沖縄県 | O |
6 | 1006 | 経理部 | 高島 海斗 | 男 | 1951/12/03 | 58 | 千葉県 | B |
7 | 1007 | 総務部 | 佐々木 直子 | 女 | 1971/09/14 | 38 | 愛知県 | B |
8 | 1008 | 営業部 | 石沢 幸吉 | 男 | 1969/06/21 | 40 | 徳島県 | A |
9 | 1009 | 営業部 | 丸田 孝治 | 男 | 1957/12/09 | 52 | 鹿児島県 | B |
10 | 1010 | 総務部 | 山本 信子 | 女 | 1981/04/10 | 29 | 和歌山県 | A |
11 | 1011 | 人事部 | 小嶋 博美 | 女 | 1968/12/06 | 41 | 島根県 | AB |
12 | 1012 | 営業部 | 高村 義治 | 男 | 1980/12/19 | 29 | 熊本県 | O |
13 | 1013 | 経理部 | 星野 舞 | 女 | 1964/07/11 | 45 | 三重県 | O |
14 | 1014 | 営業部 | 津村 文男 | 男 | 1959/11/13 | 50 | 鳥取県 | A |
15 | 1015 | 人事部 | 和泉 丈夫 | 男 | 1969/11/23 | 40 | 愛知県 | O |
16 | 1016 | 人事部 | 前原 章二 | 男 | 1983/05/14 | 27 | 秋田県 | O |
17 | 1017 | 人事部 | 飯田 靖 | 男 | 1966/09/28 | 43 | 神奈川県 | AB |
18 | 1018 | 経理部 | 北 眞子 | 女 | 1950/06/17 | 59 | 沖縄県 | O |
19 | 1019 | 営業部 | 福沢 菜々子 | 女 | 1963/07/11 | 46 | 高知県 | A |
20 | 1020 | 営業部 | 坂上 日菜 | 女 | 1952/11/08 | 57 | 香川県 | A |
21 | 1021 | 営業部 | 篠田 蘭 | 女 | 1973/06/11 | 37 | 福岡県 | A |
22 | 1022 | 総務部 | 岩井 賢 | 男 | 1973/01/26 | 37 | 奈良県 | A |
23 | 1023 | 経理部 | 安部 心音 | 女 | 1961/03/06 | 49 | 秋田県 | B |
24 | 1024 | 経理部 | 松木 清吾 | 男 | 1965/09/14 | 44 | 奈良県 | O |
25 | 1025 | 総務部 | 武内 敬 | 男 | 1976/12/04 | 33 | 島根県 | AB |
26 | 1026 | 人事部 | 荒木 陽花 | 女 | 1954/02/04 | 56 | 熊本県 | O |
27 | 1027 | 営業部 | 川崎 桜子 | 女 | 1981/03/23 | 29 | 大分県 | A |
28 | 1028 | 営業部 | 赤羽 清子 | 女 | 1987/05/15 | 23 | 青森県 | A |
29 | 1029 | 営業部 | 黒澤 孝吉 | 男 | 1954/12/17 | 55 | 山形県 | A |
30 | 1030 | 営業部 | 川嶋 俊男 | 男 | 1979/09/10 | 30 | 青森県 | 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>
|