行の追加
行の削除
既定の設定では、ユーザーが[Ctrl]+[Delete]の入力で行を削除できます。この機能を無効にするにはGcMultiRow.AllowUserToDeleteRowsプロパティをFalseに設定します。
既定のショートカット キーの詳細は ショートカット キー を参照してください。
GcMultiRow1.AllowUserToDeleteRows = False
gcMultiRow1.AllowUserToDeleteRows = false;
既定のショートカット キーの詳細は ショートカット キー を参照してください。
ズーム
クリップボード操作(グリッド)
既定の設定では、ユーザーがキーボード操作によってセルの値をクリップボードにコピーできます。この機能を無効にするにはGcMultiRow.AllowClipboardプロパティをFalseに設定します。
クリップボード操作(セル編集コントロール)
既定の設定では、各セルのセル編集コントロールにはクリップボード操作が提供されています。たとえば、TextBoxCellではTextBoxEditingControlによって編集中のクリップボード操作が有効です。これは、標準のTextBoxコントロールと同じです。
この機能を無効にするには次の操作を行います。
この機能を無効にするには次の操作を行います。
Imports GrapeCity.Win.MultiRow Private Sub GcMultiRow1_EditingControlShowing(ByVal sender As System.Object, ByVal e As EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing If TypeOf e.Control Is TextBoxEditingControl Then Dim textBoxEditingControl As TextBoxEditingControl = _ DirectCast(e.Control, TextBoxEditingControl) ' 空のコンテキストメニューで既定のメニューを無効にする textBoxEditingControl.ContextMenu = New ContextMenu() ' キーボード操作によるクリップボード操作を無効にする RemoveHandler textBoxEditingControl.KeyDown, AddressOf Me.textBoxEditingControl_KeyDown AddHandler textBoxEditingControl.KeyDown, AddressOf Me.textBoxEditingControl_KeyDown End If End Sub Private Sub textBoxEditingControl_KeyDown(ByVal sender As System.Object, ByVal e As KeyEventArgs) Dim textBox As TextBox = DirectCast(sender, TextBox) If e.Modifiers = Keys.Control Then e.Handled = True textBox.SelectionLength = 0 End If End Sub
using GrapeCity.Win.MultiRow; private void Form1_Load(object sender, EventArgs e) { gcMultiRow1.EditingControlShowing += new EventHandler<EditingControlShowingEventArgs>(gcMultiRow1_EditingControlShowing); } private void gcMultiRow1_EditingControlShowing(object sender, EditingControlShowingEventArgs e) { if (e.Control is TextBoxEditingControl) { TextBoxEditingControl textBoxEditingControl = e.Control as TextBoxEditingControl; // 空のコンテキストメニューで既定のメニューを無効にする textBoxEditingControl.ContextMenu = new ContextMenu(); // キーボード操作によるクリップボード操作を無効にする textBoxEditingControl.KeyDown -= new KeyEventHandler(textBoxEditingControl_KeyDown); textBoxEditingControl.KeyDown += new KeyEventHandler(textBoxEditingControl_KeyDown); } } private void textBoxEditingControl_KeyDown(object sender, KeyEventArgs e) { TextBox textBox = sender as TextBox; if (e.Modifiers == Keys.Control) { e.Handled = true; textBox.SelectionLength = 0; } }
セルの値の編集
TextBoxCellやDateTimePickerCellなどの編集可能なセル型では、既定でユーザーの入力が許可されています。この機能を無効にするには、次のいずれかの方法を使用します。
- GcMultiRow.EditModeプロパティをEditProgrammaticallyに設定する。
- Cell.ReadOnlyプロパティをTrueに設定する。
セルの選択
既定の設定では、HeaderCellとその派生クラス以外のセルは選択可能です。この機能を無効にするには、次のいずれかの方法を使用します。
- GcMultiRow.ViewModeプロパティをDisplayに設定する。
- Cell.SelectableプロパティをFalseに設定する。
セルのリサイズ
既定の設定では、HeaderCellとその派生クラスによるセルのリサイズが許可されています。すべてのセルに対してユーザーによるリサイズ操作を無効にするには、GcMultiRow.AllowUserToResizeプロパティをFalseに設定します。個々のセルでリサイズ操作を無効にするには、Cell.ResizeModeプロパティの値を変更します。
既定の設定では、次のセル型に対してリサイズが許可されています。
既定の設定では、次のセル型に対してリサイズが許可されています。
- ColumnHeaderCell
- CornerHeaderCell
- RowHeaderCell
- HeaderCell
null の入力
既定の設定では、ユーザーが[Ctrl]+[0]の入力でセルにnull(Visual BasicではNothing)を入力できます。この機能を無効にするには対応するショートカット キーを削除します。
GcMultiRow1.ShortcutKeyManager.Unregister(GrapeCity.Win.MultiRow.EditingActions.InputNullValue)
gcMultiRow1.ShortcutKeyManager.Unregister(GrapeCity.Win.MultiRow.EditingActions.InputNullValue);
セルの自動リサイズ
列ヘッダ型セルの境界をダブルクリックしたとき、対応するセルの表示内容に合わせてセルの幅が自動調整されます。既定の設定では、対象となるセルは画面に表示されている部分に限定されます。すべてのセルを対象とするには、GcMultiRow.AutoFitContentプロパティをAllに変更します。
GcMultiRow1.AutoFitContent = GrapeCity.Win.MultiRow.AutoFitContent.All
gcMultiRow1.AutoFitContent = GrapeCity.Win.MultiRow.AutoFitContent.All;
|