GrapeCity.devlog

グレープシティ株式会社のDeveloper Tools〈開発支援ツール〉の最新情報をお届けします。製品のTIPSや発売情報、イベントのお知らせなどをいち早く発信中です。

セルに長い文章を表示する

こんにちは。SPREADチームでテクニカルサポートを担当している小津です。 一覧の備考欄や詳細欄など、セルで複数行にわたる長い文章を表示することはありませんか。限られた領域での長文の表示や編集は、工夫次第でユーザーの使い勝手に差が生じる部分と感じています。 今日は、そんなときに役立つ製品機能をご紹介します。

ozu16nov_10

スクロール単位

上のイメージの詳細欄のように、セルのテキストを折り返して全体を表示すると、ユーザーはシートをスクロールしながら長い文章を参照できます。このとき注意したいのが、行方向のスクロール単位。初期設定ではシートは行単位で(1行ずつ)スクロールされます。ほんの少しスクロールするつもりが、次の行が表示されたとたん、文章全体が表示領域から隠れてしまうことも。

Pixel(ピクセル単位)、またはPixelAndRow(ピクセル&行単位のハイブリッド)がおすすめです。PixelAndRowは、ユーザーがマウスでスクロールしながら長い文章を読み、読み終わってマウスを離すと1つ前か次の行(どちらか近い方)にスクロール、という動きになります(試してみたくなった方は次のサンプルコードをどうぞ!)。

Visual Basic

FpSpread1.VerticalScrollBarMode = FarPoint.Win.VerticalScrollMode.PixelAndRow
FpSpread1.ScrollBarTrackPolicy = ScrollBarTrackPolicy.Vertical

C#

fpSpread1.VerticalScrollBarMode = FarPoint.Win.VerticalScrollMode.PixelAndRow;
 fpSpread1.ScrollBarTrackPolicy = ScrollBarTrackPolicy.Vertical; 

キャレットの初期位置

初期設定ではセルをダブルクリックすると、キャレットがテキストの最後に表示されます。長い文章の真ん中あたり、ココを編集したいのに!ということも。そんなときに役立つのが、キャレットの初期位置の設定です。

MouseLocationがおすすめです。長い文章のココを修正したい、とユーザーがダブルクリックしたその位置にキャレットが表示されます。

Visual Basic

FpSpread1.Sheets(0).Columns(3).CellType = New GeneralCellType() With {
    .Multiline = True,
    .WordWrap = True,
    .FocusPosition = EditorFocusCursorPosition.MouseLocation
}

C#

fpSpread1.Sheets[0].Columns[3].CellType = new GeneralCellType()
{
    Multiline =true,
    WordWrap =true,
    FocusPosition =EditorFocusCursorPosition.MouseLocation
};

省略記号とテキストチップ

行の高さを一定に保つ必要があるなど、セルにテキスト全体を表示することが不適切な場合もあります。次のように省略記号(...)とテキストチップを使用する方法があります。

ozu16no_21

ドロップダウンエディタ

GcTextBox型セルを使用すると、編集用のドロップダウンエディタを表示できます。

ozu16no_22

Visual Basic

'テキストチップを表示
FpSpread1.TextTipPolicy = TextTipPolicy.Floating
'GcTextBox型セル(複数行、省略記号、折り返しの有効化)
Dim gcText As New GcTextBoxCellType() With {
    .Multiline = True,
    .Ellipsis = EllipsisMode.EllipsisEnd,
    .WrapMode = WrapMode.WordWrap
}
'ドロップダウンエディタの有効化
Dim sButton As New DropDownButtonInfo() With {
    .IsDefaultBehavior = True
}
gcText.SideButtons.Add(sButton)
FpSpread1.Sheets(0).Columns(3).CellType = gcText

C#

//テキストチップを表示
fpSpread1.TextTipPolicy = TextTipPolicy.Floating;
//GcTextBox型セル(複数行、省略記号、折り返しの有効化)
GcTextBoxCellType gcText = new GcTextBoxCellType()
{
    Multiline = true,
    Ellipsis = EllipsisMode.EllipsisEnd,
    WrapMode =WrapMode.WordWrap
};
//ドロップダウンエディタの有効化
DropDownButtonInfo sButton = new DropDownButtonInfo() { 
    IsDefaultBehavior = true 
};
gcText.SideButtons.Add(sButton);
fpSpread1.Sheets[0].Columns[3].CellType = gcText;

機会があれば、ぜひご活用ください!

Copyright © GrapeCity, Inc. All Rights Reserved.