MESCIUS MultiRow for Windows Forms 12.0J
編集モード

GcMultiRowコントロールは3種類の編集モードをサポートしています。編集モードはGcMultiRow.EditModeプロパティおよびGcMultiRow.ReadOnlyプロパティで設定します。各モードにおけるショートカット キーの詳細は「ショートカット キー」を参照してください。セルの編集の詳細なカスタマイズについては「セルの編集」を参照してください。
通常モード
通常モードは、セルの選択とセルの編集の2つの状態を持ちます。既定では、ユーザーがセルに入力するかセルをダブルクリックしたときに入力が開始されます。[Enter]キーを押すか、他のセルに移動すると入力が確定します。このモードはExcelやDataGridViewコントロールに似ています。通常モードはGcMultiRowコントロールの既定の編集モードです。

GcMultiRow1.EditMode = GrapeCity.Win.MultiRow.EditMode.EditOnKeystrokeOrShortcutKey
gcMultiRow1.EditMode = GrapeCity.Win.MultiRow.EditMode.EditOnKeystrokeOrShortcutKey;

キー入力による編集を禁止し、ショートカット操作による編集の開始だけに限定するには次のようにコーディングします。

GcMultiRow1.EditMode = GrapeCity.Win.MultiRow.EditMode.EditOnShortcutKey
gcMultiRow1.EditMode = GrapeCity.Win.MultiRow.EditMode.EditOnShortcutKey;
常時入力モード
常時入力モードは、セルを常に編集状態にします。このモードは、TextBoxコントロールに似ています。ユーザーはセルに移動した後、ただちにセルを編集できます。

GcMultiRow1.EditMode = GrapeCity.Win.MultiRow.EditMode.EditOnEnter
gcMultiRow1.EditMode = GrapeCity.Win.MultiRow.EditMode.EditOnEnter;
  • GcMultiRow.ReadOnlyプロパティがTrueまたはGcMultiRow.ViewModeプロパティがDisplayのとき、常時入力モードは無効です。
  • 常時入力モードが有効のとき、ドラッグ操作でセルを選択することはできません。
  • 常時入力モードを使用すると、セルを移動するたびに自動的に編集が開始されるため、キーボード操作によるスクロールの速度が低下します。
  • 常時入力モードでは、セルを移動するまで編集結果は確定しません。セルの編集中にセルの値を参照する場合、セル編集コントロールの値とグリッドのセルの値が異なる点に注意してください。セル編集コントロールが編集中の値、グリッドのセルが編集前の値を保持しています。この動作は、GcMultiRow.EditModeプロパティ以外の方法で常時入力モードを実装した場合にも当てはまります。

常時入力モードは、編集可能なすべてのセル型に対して有効です。セル型に応じて常時入力モードを使うかどうかを切り替えるには、GcMultiRow.EditModeプロパティをEditOnEnter以外に設定し、GcMultiRow.CellEnterイベントでGcMultiRow.BeginEditメソッドを実行します。

次のコードは文字列型セルの場合のみ常時入力モードを有効にします。

Imports GrapeCity.Win.MultiRow

Private Sub GcMultiRow1_CellEnter( _
    ByVal sender As System.Object, _
    ByVal e As CellEventArgs _
    ) Handles GcMultiRow1.CellEnter
    If TypeOf GcMultiRow1.CurrentCell Is TextBoxCell Then
        GcMultiRow1.BeginEdit(False)
    End If
End Sub
using GrapeCity.Win.MultiRow;

private void gcMultiRow1_CellEnter(object sender, CellEventArgs e)
{
    if (gcMultiRow1.CurrentCell is TextBoxCell)
        gcMultiRow1.BeginEdit(false);
}
読み取り専用モード
GcMultiRow.ReadOnlyプロパティをTrueに設定すると、GcMultiRow.EditModeプロパティの設定に関係なく、グリッドが読み取り専用になります。

GcMultiRow1.ReadOnly = True
gcMultiRow1.ReadOnly = true;

読み取り専用のテキストボックスのように、セルの編集を許可しつつコンテンツの編集だけを禁止するには、GcMultiRow.EditModeプロパティをFalseに設定し、各セルのReadOnlyプロパティをTrueに設定します。
セルの選択を禁止するには、表示専用モードに設定します。表示専用モードの詳細は「表示モード」を参照してください。
   
関連トピック

 

 


© MESCIUS inc. All rights reserved.