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

デザインのカスタマイズ

SPREADではコマンドバーの表示をカスタマイズすることが可能です。 コマンドバーのボタンは、画像ボタン、プッシュボタンに変更でき、ボタンに表示する画像や文字列は任意に変更可能です。

このサンプルでは、シートごとにカスタマイズ方法を変更しています。
「デフォルト」シートはデフォルト状態のコマンドバーです。
「テキスト」シートはボタンをプッシュボタンに変更しています。
「ボタンカスタム」シートはボタンを画像に変更しています。
「テキストカスタム」シートはボタンをプッシュボタンに変更し、ボタンに表示する文字列を変更しています。
 ID氏名カナ生年月日性別血液型部署入社日メールアドレス
11001亀甲 滋万キコウ シゲマ1950/02/04A人事部1972/04/01sigema_kikou@abc.co.jp
21002寒田 希世カンダ キヨ1959/06/28B人事部1981/04/01kiyo_kanda@bbb.or.jp
31003小和瀬 澄オワセ キヨ1969/03/06A人事部1991/04/01kiyo_owase@aaa.co.jp
41004宇夫 早余子ウブ サヨコ1976/07/28O人事部1998/04/01sayoko_ubu@bbb.or.jp
51005宇田津 聖智ウダツ キヨトモ1965/09/04A営業部1987/04/01kiyotomo_udatu@abc.co.jp
61006茨城 昭児イバラキ ショウジ1963/04/28O営業部1985/04/01shouzi_ibaraki@xyz.ne.jp
71007石ヶ休 椎茄イシガキュウ シイナ1953/02/21O営業部1975/04/01siina_isigagyuu@abc.co.jp
81008赤司 恵治郎アカツカサ ケイジロウ1968/08/02O経理部1990/04/01keizirou_akatukasa@abc.co.jp
91009小橋 仰一オハシ ギョウイチ1972/03/02B経理部1994/04/01gyouiti_ohasi@abc.co.jp
101010一重 公大イチジュウ コウダイ1964/04/19B経理部1986/04/01koudai_itizyuu@xyz.ne.jp
 デフォルト  テキスト  ボタンカスタム ...   

ソースコード

別ウィンドウで表示
using System;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;

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

        FpSpread1.Sheets.Count = 4;
        for (int i = 0; i < FpSpread1.Sheets.Count; i++)
        {
            // データ連結
            DataSet ds = new DataSet();
            ds.ReadXml(MapPath("../App_Data/data50.xml"));
            FpSpread1.Sheets[i].DataSource = ds;
            
            // SPREAD初期化
            InitSpread(FpSpread1.Sheets[i]);            
        }

        // SPREAD設定
        FpSpread1.CommandBar.Visible = true;
        FpSpread1.CssClass = "spreadStyle";
        FpSpread1.UseClipboard = false;
        
        // シート名設定
        FpSpread1.Sheets[0].SheetName ="デフォルト";
        FpSpread1.Sheets[1].SheetName ="テキスト";
        FpSpread1.Sheets[2].SheetName ="ボタンカスタム";
        FpSpread1.Sheets[3].SheetName = "テキストカスタム";
    }

    private void InitSpread(FarPoint.Web.Spread.SheetView sheet)
    {
        // シート設定
        sheet.PageSize = 10;

        // フォントサイズの設定
        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.Columns[0].Width = 45;
        sheet.Columns[1].Width = 85;
        sheet.Columns[2].Width = 120;
        sheet.Columns[3].Width = 80;
        sheet.Columns[4].Width = 50;
        sheet.Columns[5].Width = 50;
        sheet.Columns[6].Width = 65;
        sheet.Columns[7].Width = 80;
        sheet.Columns[8].Width = 140;

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

    // コマンドバーにカスタムテキストを設定
    private void SetCustomText(FarPoint.Web.Spread.CreateButtonEventArgs e)
    {
        switch (e.Command)
        {
            case "Update":
                e.Label = "確定";
                break;
            case "Cancel":
                e.Label = "キャンセル";
                break;
            case "Cut":
                e.Label = "カット";
                break;
            case "Copy":
                e.Label = "コピー";
                break;
            case "Paste":
                e.Label = "ペースト";
                break;
            case "Add":
                e.Label = "追加";
                break;
            case "Insert":
                e.Label = "挿入";
                break;
            case "Delete":
                e.Label = "削除";
                break;
            case "Prev":
                e.Label = "前ページ";
                break;
            case "Next":
                e.Label = "次ページ";
                break;
        }
    }

    // コマンドバーにカスタムピクチャを設定
    private void SetCustomPicture(FarPoint.Web.Spread.CreateButtonEventArgs e)
    {
        string imgdir = "../images/commandbar/";
        switch (e.Command)
        {
            case "Update":
                e.EnabledImgUrl = imgdir + "Update.gif";
                e.DisabledImgUrl = imgdir + "UpdateDisable.gif";
                break;
            case "Cancel":
                e.EnabledImgUrl = imgdir + "Cancel.gif";
                e.DisabledImgUrl = imgdir + "CancelDisable.gif";
                break;
            case "Cut":
                e.EnabledImgUrl = imgdir + "Clear.gif";
                e.DisabledImgUrl = imgdir + "ClearDisable.gif";
                break;
            case "Copy":
                e.EnabledImgUrl = imgdir + "Copy.gif";
                e.DisabledImgUrl = imgdir + "CopyDisable.gif";
                break;
            case "Paste":
                e.EnabledImgUrl = imgdir + "Paste.gif";
                e.DisabledImgUrl = imgdir + "PasteDisable.gif";
                break;
            case "Add":
                e.EnabledImgUrl = imgdir + "Add.gif";
                e.DisabledImgUrl = imgdir + "AddDisable.gif";
                break;
            case "Insert":
                e.EnabledImgUrl = imgdir + "Insert.gif";
                e.DisabledImgUrl = imgdir + "InsertDisable.gif";
                break;
            case "Delete":
                e.EnabledImgUrl = imgdir + "Delete.gif";
                e.DisabledImgUrl = imgdir + "DeleteDisable.gif";
                break;
            case "Prev":
                e.EnabledImgUrl = imgdir + "Prev.gif";
                e.DisabledImgUrl = imgdir + "PrevDisable.gif";
                break;
            case "Next":
                e.EnabledImgUrl = imgdir + "Next.gif";
                e.DisabledImgUrl = imgdir + "NextDisable.gif";
                break;
        }

    }
    protected void FpSpread1_CreateButton(object sender, FarPoint.Web.Spread.CreateButtonEventArgs e)
    {
        // カスタムコマンドバーの設定
        if (FpSpread1.ActiveSheetViewIndex == 2)
        {
            // コマンドバーにカスタムピクチャを設定
            SetCustomPicture(e);
        }
        else if (FpSpread1.ActiveSheetViewIndex == 3)
        {
            // コマンドバーにカスタムテキストを設定
            SetCustomText(e);
        }
    }

    protected void FpSpread1_ActiveSheetChanged(object sender, EventArgs e)
    {
        // コマンドボタンの表示を変更 
        FpSpread1.CommandBar.Reset();
        FpSpread1.CommandBar.Font.Size = FontUnit.Small;

        // シートごとに、コマンドバーの表示状態を変更
        switch (FpSpread1.ActiveSheetViewIndex)
        {
            case 0:		// デフォルトボタン
                // ボタンのタイプを変更
                FpSpread1.CommandBar.ButtonType = FarPoint.Web.Spread.ButtonType.ImageButton;
                break;
            case 1:		// デフォルトテキスト
                // ボタンのタイプを変更
                FpSpread1.CommandBar.ButtonType = FarPoint.Web.Spread.ButtonType.PushButton;
                break;
            case 2:		// カスタムボタン
                // ボタンのタイプを変更
                FpSpread1.CommandBar.ButtonType = FarPoint.Web.Spread.ButtonType.ImageButton;
                FpSpread1.CommandBar.BackColor = System.Drawing.Color.BurlyWood;
                break;
            case 3:		// カスタムテキスト
                // ボタンのタイプを変更
                FpSpread1.CommandBar.ButtonType = FarPoint.Web.Spread.ButtonType.PushButton;
                // ボタンの設定を変更します。
                FpSpread1.CommandBar.BackColor = System.Drawing.Color.DarkBlue;
                FpSpread1.CommandBar.ButtonFaceColor = System.Drawing.Color.MediumAquamarine;
                FpSpread1.CommandBar.ButtonHighlightColor = System.Drawing.Color.MintCream;
                FpSpread1.CommandBar.ButtonShadowColor = System.Drawing.Color.DarkCyan;
                FpSpread1.CommandBar.ButtonTextColor = System.Drawing.Color.Blue;
                FpSpread1.CommandBar.Font.Bold = true;
                break;
        }
    }
}

Partial Public Class commandbarstyle
    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

        FpSpread1.Sheets.Count = 4
        For i As Integer = 0 To FpSpread1.Sheets.Count - 1
            ' データ連結
            Dim ds As New System.Data.DataSet()
            ds.ReadXml(MapPath("../App_Data/data50.xml"))
            FpSpread1.Sheets(i).DataSource = ds

            ' SPREAD初期化
            InitSpread(FpSpread1.Sheets(i))
        Next

        ' SPREAD設定
        FpSpread1.CommandBar.Visible = True
        FpSpread1.CssClass = "spreadStyle"
        FpSpread1.UseClipboard = False

        ' シート名設定
        FpSpread1.Sheets(0).SheetName = "デフォルト"
        FpSpread1.Sheets(1).SheetName = "テキスト"
        FpSpread1.Sheets(2).SheetName = "ボタンカスタム"
        FpSpread1.Sheets(3).SheetName = "テキストカスタム"
    End Sub

    Private Sub InitSpread(ByVal sheet As FarPoint.Web.Spread.SheetView)
        ' シート設定
        sheet.PageSize = 10

        ' フォントサイズの設定
        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.Columns(0).Width = 45
        sheet.Columns(1).Width = 85
        sheet.Columns(2).Width = 120
        sheet.Columns(3).Width = 80
        sheet.Columns(4).Width = 50
        sheet.Columns(5).Width = 50
        sheet.Columns(6).Width = 65
        sheet.Columns(7).Width = 80
        sheet.Columns(8).Width = 140

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

    ' コマンドバーにカスタムテキストを設定
    Private Sub SetCustomText(ByVal e As FarPoint.Web.Spread.CreateButtonEventArgs)
        Select Case e.Command
            Case "Update"
                e.Label = "確定"
                Exit Select
            Case "Cancel"
                e.Label = "キャンセル"
                Exit Select
            Case "Cut"
                e.Label = "カット"
                Exit Select
            Case "Copy"
                e.Label = "コピー"
                Exit Select
            Case "Paste"
                e.Label = "ペースト"
                Exit Select
            Case "Add"
                e.Label = "追加"
                Exit Select
            Case "Insert"
                e.Label = "挿入"
                Exit Select
            Case "Delete"
                e.Label = "削除"
                Exit Select
            Case "Prev"
                e.Label = "前ページ"
                Exit Select
            Case "Next"
                e.Label = "次ページ"
                Exit Select
        End Select
    End Sub

    ' コマンドバーにカスタムピクチャを設定
    Private Sub SetCustomPicture(ByVal e As FarPoint.Web.Spread.CreateButtonEventArgs)
        Dim imgdir As String = "../images/commandbar/"
        Select Case e.Command
            Case "Update"
                e.EnabledImgUrl = imgdir & "Update.gif"
                e.DisabledImgUrl = imgdir & "UpdateDisable.gif"
                Exit Select
            Case "Cancel"
                e.EnabledImgUrl = imgdir & "Cancel.gif"
                e.DisabledImgUrl = imgdir & "CancelDisable.gif"
                Exit Select
            Case "Cut"
                e.EnabledImgUrl = imgdir & "Clear.gif"
                e.DisabledImgUrl = imgdir & "ClearDisable.gif"
                Exit Select
            Case "Copy"
                e.EnabledImgUrl = imgdir & "Copy.gif"
                e.DisabledImgUrl = imgdir & "CopyDisable.gif"
                Exit Select
            Case "Paste"
                e.EnabledImgUrl = imgdir & "Paste.gif"
                e.DisabledImgUrl = imgdir & "PasteDisable.gif"
                Exit Select
            Case "Add"
                e.EnabledImgUrl = imgdir & "Add.gif"
                e.DisabledImgUrl = imgdir & "AddDisable.gif"
                Exit Select
            Case "Insert"
                e.EnabledImgUrl = imgdir & "Insert.gif"
                e.DisabledImgUrl = imgdir & "InsertDisable.gif"
                Exit Select
            Case "Delete"
                e.EnabledImgUrl = imgdir & "Delete.gif"
                e.DisabledImgUrl = imgdir & "DeleteDisable.gif"
                Exit Select
            Case "Prev"
                e.EnabledImgUrl = imgdir & "Prev.gif"
                e.DisabledImgUrl = imgdir & "PrevDisable.gif"
                Exit Select
            Case "Next"
                e.EnabledImgUrl = imgdir & "Next.gif"
                e.DisabledImgUrl = imgdir & "NextDisable.gif"
                Exit Select
        End Select

    End Sub

    Protected Sub FpSpread1_ActiveSheetChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles FpSpread1.ActiveSheetChanged
        ' コマンドボタンの表示を変更 
        FpSpread1.CommandBar.Reset()
        FpSpread1.CommandBar.Font.Size = FontUnit.Small

        ' シートごとに、コマンドバーの表示状態を変更
        Select Case FpSpread1.ActiveSheetViewIndex
            Case 0
                ' デフォルトボタン
                ' ボタンのタイプを変更
                FpSpread1.CommandBar.ButtonType = FarPoint.Web.Spread.ButtonType.ImageButton
                Exit Select
            Case 1
                ' デフォルトテキスト
                ' ボタンのタイプを変更
                FpSpread1.CommandBar.ButtonType = FarPoint.Web.Spread.ButtonType.PushButton
                Exit Select
            Case 2
                ' カスタムボタン
                ' ボタンのタイプを変更
                FpSpread1.CommandBar.ButtonType = FarPoint.Web.Spread.ButtonType.ImageButton
                FpSpread1.CommandBar.BackColor = System.Drawing.Color.BurlyWood
                Exit Select
            Case 3
                ' カスタムテキスト
                ' ボタンのタイプを変更
                FpSpread1.CommandBar.ButtonType = FarPoint.Web.Spread.ButtonType.PushButton
                ' ボタンの設定を変更します。
                FpSpread1.CommandBar.BackColor = System.Drawing.Color.DarkBlue
                FpSpread1.CommandBar.ButtonFaceColor = System.Drawing.Color.MediumAquamarine
                FpSpread1.CommandBar.ButtonHighlightColor = System.Drawing.Color.MintCream
                FpSpread1.CommandBar.ButtonShadowColor = System.Drawing.Color.DarkCyan
                FpSpread1.CommandBar.ButtonTextColor = System.Drawing.Color.Blue
                FpSpread1.CommandBar.Font.Bold = True
                Exit Select
        End Select
    End Sub

    Protected Sub FpSpread1_CreateButton(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.CreateButtonEventArgs) Handles FpSpread1.CreateButton
        ' カスタムコマンドバーの設定
        If FpSpread1.ActiveSheetViewIndex = 2 Then
            ' コマンドバーにカスタムピクチャを設定
            SetCustomPicture(e)
        ElseIf FpSpread1.ActiveSheetViewIndex = 3 Then
            ' コマンドバーにカスタムテキストを設定
            SetCustomText(e)
        End If
    End Sub
End Class
<%@ Page MasterPageFile="~/MasterPage.master" Language="c#" AutoEventWireup="true" 
         Inherits="commandbarstyle" CodeFile="commandbarstyle.aspx.cs" %>

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

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <farpoint:FpSpread ID="FpSpread1" runat="server" 
        onactivesheetchanged="FpSpread1_ActiveSheetChanged" 
        oncreatebutton="FpSpread1_CreateButton">
        <CommandBar BackColor="Control" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
            ButtonShadowColor="ControlDark" />
        <Sheets>
            <farpoint:SheetView SheetName="Sheet1">
            </farpoint:SheetView>
        </Sheets>
    </farpoint:FpSpread>
</asp:Content>