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

非表示列のデータを取得

クライアント側スクリプトで提供されるGetHiddenValue メソッドで、 非表示列のセルの値を取得することができます。 GetHiddenValue メソッドの第一引数にはページ上の行番号、 第二引数には非表示にした列名を指定します。 なお、行が非表示となっている場合はGetHiddenValue メソッドで値を取得することはできません。

このサンプルでは「カナ」列を非表示にしています。 ボタンをクリックすると該当行の非表示データ(氏名のカナ)をメッセージ出力します。
 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
111011稲並 勝五郎1962/02/18A営業部1984/04/01shougorou_inami@bbb.or.jp
121012穎原 紀代一1965/02/13O営業部1987/04/01kiyokazu_eihara@bbb.or.jp

ソースコード

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

public partial class clientgethiddenvalue : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string js = "var spid='" + FpSpread1.ClientID + "';";
        js += "var rdoid='" + RadioButtonList1.ClientID + "';";
        ClientScript.RegisterStartupScript(this.GetType(), "onStartUpScript", js, true);

        if (IsPostBack) return;

        // データ連結
        DataSet ds = new DataSet();
        ds.ReadXml(MapPath("../App_Data/data.xml"));
        FpSpread1.DataSource = ds;
        
        FarPoint.Web.Spread.SheetView sheet = FpSpread1.Sheets[0];

        // SPREAD初期化
        InitSpread(FpSpread1.Sheets[0]);
    }

    private void InitSpread(FarPoint.Web.Spread.SheetView sheet)
    {
        // SPREAD設定
        sheet.FpSpread.CommandBar.Visible = false;
        sheet.FpSpread.CssClass = "spreadStyle";
        sheet.FpSpread.ShowFocusRectangle = true;
        sheet.FpSpread.UseClipboard = false;

        // フォントサイズの設定
        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.OperationMode = FarPoint.Web.Spread.OperationMode.SingleSelect;

        // 列幅の設定
        sheet.Columns[0].Width = 36;
        sheet.Columns[1].Width = 88;
        sheet.Columns[2].Width = 100;
        sheet.Columns[3].Width = 80;
        sheet.Columns[4].Width = 36;
        sheet.Columns[5].Width = 46;
        sheet.Columns[6].Width = 49;
        sheet.Columns[7].Width = 71;
        sheet.Columns[8].Width = 181;

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

        // 「カナ」を非表示
        sheet.Columns[2].Visible = false;
    }

    protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        // クライアント側の変更を確定
        FpSpread1.SaveChanges();

        if (RadioButtonList1.SelectedValue == "1")
        {
            FpSpread1.ActiveSheetView.Columns[2].Visible = false;
        }
        else
        {
            FpSpread1.ActiveSheetView.Columns[2].Visible = true;
        }
    }
}

Partial Public Class clientgethiddenvalue
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim js As String = "var spid='" + FpSpread1.ClientID & "';"
        js += "var rdoid='" + RadioButtonList1.ClientID & "';"
        ClientScript.RegisterStartupScript(Me.GetType(), "onStartUpScript", js, True)

        If IsPostBack Then
            Return
        End If

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

        ' SPREAD初期化
        InitSpread(FpSpread1.Sheets(0))
    End Sub

    Private Sub InitSpread(ByVal sheet As FarPoint.Web.Spread.SheetView)
        ' SPREAD設定
        sheet.FpSpread.CommandBar.Visible = False
        sheet.FpSpread.CssClass = "spreadStyle"
        sheet.FpSpread.ShowFocusRectangle = True
        sheet.FpSpread.UseClipboard = False

        ' フォントサイズの設定
        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.OperationMode = FarPoint.Web.Spread.OperationMode.SingleSelect

        ' 列幅の設定
        sheet.Columns(0).Width = 36
        sheet.Columns(1).Width = 88
        sheet.Columns(2).Width = 100
        sheet.Columns(3).Width = 80
        sheet.Columns(4).Width = 36
        sheet.Columns(5).Width = 46
        sheet.Columns(6).Width = 49
        sheet.Columns(7).Width = 71
        sheet.Columns(8).Width = 181

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

        ' 「カナ」を非表示
        sheet.Columns(2).Visible = False
    End Sub

    Protected Sub RadioButtonList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButtonList1.SelectedIndexChanged
        ' クライアント側の変更を確定
        FpSpread1.SaveChanges()

        If RadioButtonList1.SelectedValue = "1" Then
            FpSpread1.ActiveSheetView.Columns(2).Visible = False
        Else
            FpSpread1.ActiveSheetView.Columns(2).Visible = True
        End If
    End Sub
End Class
<%@ Page MasterPageFile="~/MasterPage.master" Language="c#" AutoEventWireup="true" 
         Inherits="clientgethiddenvalue" CodeFile="clientgethiddenvalue.aspx.cs" %>

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

<asp:Content ID="Content1" ContentPlaceHolderID="HeaderPlaceHolder1" Runat="Server">
    <script type="text/javascript">
        function spGetvalue() {
            var spread = document.getElementById(spid);
            if (spread.GetColCount() > 8) {
                alert("値を取得するには「カナ」列を非表示にしてください");
                return
            }
            var row = spread.GetActiveRow();
            if (row == -1) {
                alert("対象行を選択してください。");
                return
            }
            var disp = spread.GetHiddenValue(row, "カナ");
            alert(disp);
        }
    </script>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <input id="Button1" type="button" value="クライアント側で選択行の非表示列の値取得" onclick="spGetvalue()" />
    <asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True" 
        onselectedindexchanged="RadioButtonList1_SelectedIndexChanged" 
        RepeatColumns="2">
        <asp:ListItem Selected="True" Value="1">「カナ」列を非表示</asp:ListItem>
        <asp:ListItem Value="0">「カナ」列を表示</asp:ListItem>
    </asp:RadioButtonList>
    <farpoint:FpSpread ID="FpSpread1" runat="server" BorderColor="#A0A0A0" BorderStyle="Solid"
        BorderWidth="1px">
        <CommandBar BackColor="#F6F6F6" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
            ButtonShadowColor="ControlDark" />
        <Sheets>
            <farpoint:SheetView SheetName="Sheet1">
            </farpoint:SheetView>
        </Sheets>
    </farpoint:FpSpread>
</asp:Content>