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

上書き入力

EditModeReplaceプロパティにて、セルが編集モードになったときに、セル内の既存のテキストを選択した状態にするかどうか設定することができます。

このサンプルでは数値型セルの「第1Q」~「第4Q」を選択状態にすることで、動作を確認できます。
 製品ID製品分類製品名第1Q第2Q第3Q第4Q
110001乳製品酪農ミルク5,5005,0004,5006,000
220001清涼飲料水いよかんドリンク1,0003,0002,7002,700
320002清涼飲料水ぶどうジュース3,0003,5004,8004,800
420003清涼飲料水マンゴードリンク2,0001,0005001,050
530001ビール激辛ビール5,5008,0008,50010,000
630002ビールモルトビール3,0003,5002,7804,000
720004清涼飲料水ぶどうの街500300200700
830003ビールオリエントの村8,0009,5009,5809,000
940002焼酎吟醸 ほめごろし6,0007,0009,0009,500
1040003焼酎大吟醸 オリエント1,0005,0006,0005,000
1140005焼酎麦焼酎 ちこちこ1,0001,5001,2001,258
1210002乳製品酪農ミルク(低脂肪)501202380456

ソースコード

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

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

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

        // クライアント側スクリプトの設定
        string js = "var spid='" + FpSpread1.ClientID + "';" + "\r\n";
        js += "var ss = document.getElementById('" + FpSpread1.ClientID + "');" + "\r\n";
        js += "if(document.all)" + "\r\n";
        js += "{" + "\r\n";
        js += "ss.onEditStopped = es;" + "\r\n";
        js += "}" + "\r\n";
        js += "else" + "\r\n";
        js += "{" + "\r\n";
        js += "ss.addEventListener(\"EditStopped\", es, false);" + "\r\n";
        js += "}" + "\r\n";

        ClientScript.RegisterStartupScript(this.GetType(), "onStartUpScript", js, true);
    }

    private void InitSpread(FarPoint.Web.Spread.SheetView sheet)
    {
        // セル型の自動設定を無効化
        sheet.DataAutoCellTypes = false;

        // データ連結
        DataSet ds = new DataSet();
        ds.ReadXml(MapPath("../App_Data/datanum2.xml"));
        sheet.FpSpread.DataSource = ds;

        // SPREAD設定
        sheet.FpSpread.CommandBar.Visible = false;
        sheet.FpSpread.CssClass = "spreadStyle";
        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.Columns[0].Width = 50;
        sheet.Columns[1].Width = 100;
        sheet.Columns[2].Width = 141;
        sheet.Columns[3].Width = 80;
        sheet.Columns[4].Width = 80;
        sheet.Columns[5].Width = 80;
        sheet.Columns[6].Width = 80;

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

        // 各列のセル型を設定
        FarPoint.Web.Spread.LabelCellType lbl = new FarPoint.Web.Spread.LabelCellType();
        sheet.Columns[0, 2].CellType = lbl;

        FarPoint.Web.Spread.IntegerCellType ic = new FarPoint.Web.Spread.IntegerCellType();
        NumberFormatInfo ninfo = (NumberFormatInfo)(CultureInfo.CurrentCulture.NumberFormat.Clone());
        ninfo.NumberGroupSizes = new int[] { 3 }; //整数部は3桁区切り
        ic.NumberFormat = ninfo;
        sheet.Columns[3, 6].CellType = ic;

        // 上書き入力を設定
        sheet.FpSpread.EditModeReplace = true;
    }  
}
Imports System.Globalization
Partial Public Class editmodereplace
    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.Sheets(0))

        ' クライアント側スクリプトの設定
        Dim js As String = "var spid='" + FpSpread1.ClientID & "';" & vbCr & vbLf
        js += "var ss = document.getElementById('" + FpSpread1.ClientID & "');" & vbCr & vbLf
        js += "if(document.all)" & vbCr & vbLf
        js += "{" & vbCr & vbLf
        js += "ss.onEditStopped = es;" & vbCr & vbLf
        js += "}" & vbCr & vbLf
        js += "else" & vbCr & vbLf
        js += "{" & vbCr & vbLf
        js += "ss.addEventListener(""EditStopped"", es, false);" & vbCr & vbLf
        js += "}" & vbCr & vbLf

        ClientScript.RegisterStartupScript(Me.GetType(), "onStartUpScript", js, True)
    End Sub

    Private Sub InitSpread(ByVal sheet As FarPoint.Web.Spread.SheetView)
        ' セル型の自動設定を無効化
        sheet.DataAutoCellTypes = False

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

        ' SPREAD設定
        sheet.FpSpread.CommandBar.Visible = False
        sheet.FpSpread.CssClass = "spreadStyle"
        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.Columns(0).Width = 50
        sheet.Columns(1).Width = 100
        sheet.Columns(2).Width = 141
        sheet.Columns(3).Width = 80
        sheet.Columns(4).Width = 80
        sheet.Columns(5).Width = 80
        sheet.Columns(6).Width = 80

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

        ' 各列のセル型を設定
        Dim lbl As New FarPoint.Web.Spread.LabelCellType()
        sheet.Columns(0, 2).CellType = lbl

        Dim ic As New FarPoint.Web.Spread.IntegerCellType()
        Dim ninfo As NumberFormatInfo = DirectCast(CultureInfo.CurrentCulture.NumberFormat.Clone(), NumberFormatInfo)
        ninfo.NumberGroupSizes = New Integer() {3} '整数部は3桁区切り
        ic.NumberFormat = ninfo
        sheet.Columns(3, 6).CellType = ic

        ' 上書き入力を設定
        sheet.FpSpread.EditModeReplace = True
    End Sub
End Class

<%@ Page MasterPageFile="~/MasterPage.master" Language="c#" AutoEventWireup="true" 
         Inherits="editmodereplace" CodeFile="editmodereplace.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 es()
  {
    var spread = document.getElementById(spid);
        var row = spread.GetActiveRow();
        var col = spread.GetActiveCol();
    if(col == 3 || col == 4 || col == 5 || col == 6) //数値列が編集された時のみ処理を行う
    {
      var td = spread.GetCellByRowCol(row, col);
      var v = spread.GetValue(row, col);
      td.innerHTML = setFormat(v);
    }
  }
  function setFormat(val)
  {
    //数値を3桁区切りにする
    var v=val;
    var t;
    while (v != (t = v.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2"))) 
      v = t;
    return v;
  }
</script>
</asp:Content>

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