こんにちは。SPREADチームでテクニカルサポートを担当している小津です。
一覧の備考欄や詳細欄など、セルで複数行にわたる長い文章を表示することはありませんか。限られた領域での長文の表示や編集は、工夫次第でユーザーの使い勝手に差が生じる部分と感じています。
今日は、そんなときに役立つ製品機能をご紹介します。
スクロール単位
上のイメージの詳細欄のように、セルのテキストを折り返して全体を表示すると、ユーザーはシートをスクロールしながら長い文章を参照できます。このとき注意したいのが、行方向のスクロール単位。初期設定ではシートは行単位で(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 };
省略記号とテキストチップ
行の高さを一定に保つ必要があるなど、セルにテキスト全体を表示することが不適切な場合もあります。次のように省略記号(…)とテキストチップを使用する方法があります。
ドロップダウンエディタ
GcTextBox型セルを使用すると、編集用のドロップダウンエディタを表示できます。
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;
機会があれば、ぜひご活用ください!