レイアウトロジックの保留 / 再開

'保留
I_Spread.SuspendLayout()
'再開
I_Spread.ResumeLayout()

行列ヘッダー表示 / 非表示

'列
I_Spread.ActiveSheet.ColumnHeaderVisible = False
'行
I_Spread.ActiveSheet.RowHeaderVisible = False

表示行列数設定

'列
I_Spread.ActiveSheet.Columns.Count = F_DispColCount
'行
I_Spread.ActiveSheet.Rows.Count = F_DispRowCount

列幅設定

I_Spread.ActiveSheet.Columns([ColIndex]).Width = 100

スプレッド縦横幅設定

I_Spread.Width = 100
I_Spread.Height = 200

セルタイプを設定

Dim W_Style As StyleInfo
'セルタイプ設定
W_Style.CellType = New CellType.CheckBoxCellType
'文字の配置設定
W_Style.VerticalAlignment = CellVerticalAlignment.Center
W_Style.HorizontalAlignment = CellHorizontalAlignment.Center
'スタイルをセット
I_Spread.ActiveSheet.Models.Style.SetDirectInfo(-1, [ColIndex], W_Style)
※ SetDirectInfo([行番号(全体の場合は-1)], [列番号(全体の場合は-1)], [スタイル(StyleInfo)])

数値型セルの小数点以下の桁数設定

'小数点以下の桁数設定
CType(I_CellType, CellType.NumberCellType).DecimalPlaces = 0

数値型セルをカンマ区切りに設定

CType(I_CellType, CellType.NumberCellType).ShowSeparator = True
CType(I_CellType, CellType.NumberCellType).Separator = ","

行列スクロールバー表示 / 非表示

I_Spread.VerticalScrollBarPolicy = ScrollBarPolicy.AsNeeded '必要時
I_Spread.HorizontalScrollBarPolicy = ScrollBarPolicy.Never '非表示

シートを複数行選択モードにする

'オペレーションモード設定
I_Spread.ActiveSheet.OperationMode = OperationMode.MultiSelect

シートの選択範囲を取得する

'スプレッドの選択範囲を取得
W_SelectedRange = Spd_HINPOL.ActiveSheet.GetSelections()

セルフォント設定

Dim W_Style As StyleInfo
W_Style.Font = New Font("MS ゴシック", 12)
I_Spread.ActiveSheet.Models.Style.SetDirectInfo(-1, SPD_COL.Hinmei_CD, W_Style)

アクティブセルの設定

I_Spread.ActiveSheet.SetActiveCell([RowIndex], [ColIndex])

セルを編集モード(セルにカーソルを出す)にする

アクティブセルに設定 ⇒ 編集モードON
I_Spread.ActiveSheet.SetActiveCell([RowIndex], [ColIndex])
I_Spread.EditMode = True

アクティブセルを常に編集モードにする

I_Spread.EditModePermanent = True

編集中のセルでKeyイベントを検知する

'EditModeOnイベントで以下を実行
AddHandler I_Spread.EditingControl.KeyDown, AddressOf I_Spread_KeyDown
'InputMapの設定
W_inputMap = I_Spread.GetInputMap(InputMapMode.WhenAncestorOfFocused)
'編集中セルのEnterキー押下による動作を無効
W_inputMap.Put(New Keystroke(Keys.Enter, Keys.None), SpreadActions.None)

コンボボックスセルのアイテムリストを作成する

Dim cmb As New FarPoint.Win.Spread.CellType.ComboBoxCellType()
'リストに表示されるアイテムを定義します
cmb.Items = New String() {"Jan", "Feb", "Mar", "Apr", "May", "Jun"}
'表示される各アイテムに対応したデータを定義します
cmb.ItemData = New String() {"001", "002", "003", "004", "005", "006"}
'セルから取得/設定する値はItemDataとします
cmb.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.ItemData
FpSpread1.ActiveSheet.Cells(0, 0).CellType = cmb

SetActiveCellメソッドでアクティブセルを変更してもEnterCell / LeaveCellイベントが発生しない

⇒仕様(クリックなどユーザ操作によるセル移動時に発生)
http://www.grapecity.com/japan/support/kb/detail.asp?id=16104

編集中セルでKeyDownイベント / KeyPressイベントが発生しない

⇒仕様(デフォルトで発生するのはKeyUpイベントのみ)

編集中セルを全選択させる

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

隣接するセルの同じデータを結合する

FpSpreadコンポーネントのSetColumnMergeメソッドを使用します。このメソッドはSheetViewクラスのメソッドで、
2つの引数を取ります。1つはセルを結合する列番号を指定します。
A列が「0」番になり、すべての列を対象にする場合は-1を指定します。
2番目の引数は、セル内の値に基づいてコントロールがセルを自動的に結合する方法を、MergePolicy列挙型で表します。

SetColumnMerge(0, FarPoint.Win.Spread.Model.MergePolicy.Always)

None セルを自動的にマージしない
Always 値が同一の隣接セルと常にマージする
Restricted 別の行または列の対応するセルが同様にマージされている場合、値が同一の隣接セルと自動的にマージする


編集中セルで左右矢印キーを押下した際に、列方向へアクティブセルを移動したい

  '==================
  '【デフォルト設定】
  '------------------
  '[矢印キー]:カーソルはセル内でのみ左または右に移動します
  '[Ctrl]+[矢印キー]:カーソルはセル内の小さなテキスト単位の1単位分だけ左または右に移動します
  '==================
  Dim tc1 As New FarPoint.Win.Spread.CellType.TextCellType
  tc1.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.AllArrows
  FpSpread1.ActiveSheet.Rows(0).CellType = tc1

  '==================
  '[矢印キー]:カーソルはセル内でのみ左または右に移動します
  '[Ctrl]+[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  '==================
  Dim tc2 As New FarPoint.Win.Spread.CellType.TextCellType
  tc2.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.Arrows
  FpSpread1.ActiveSheet.Rows(1).CellType = tc2

  '==================
  '[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  '[Ctrl]+[矢印キー]:カーソルはセル内の小さなテキスト単位の1単位分だけ左または右に移動します
  '==================
  Dim tc3 As New FarPoint.Win.Spread.CellType.TextCellType
  tc3.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.CtrlArrows
  FpSpread1.ActiveSheet.Rows(2).CellType = tc3

  '==================
  '[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  '[Ctrl]+[矢印キー]:セルは編集を終了し、アクティブセルはカーソル方向に移動します
  '==================
  Dim tc4 As New FarPoint.Win.Spread.CellType.TextCellType
  tc4.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.None
  FpSpread1.ActiveSheet.Rows(3).CellType = tc4

列ヘッダーの連結

⇒未サポート
最終更新:2011年07月06日 09:50