クリップボード操作の許可
ユーザーにクリップボード操作を許可するには、GcMultiRow.AllowClipboardプロパティをTrueに設定します。このとき、次のクリップボード操作が有効になります。
クリップボード操作のショートカットキーは、Windowsの標準的なキー操作と同じです。詳細は「ショートカット キー」を参照してください。
- セルの値の切り取り
- セルの値のコピー
- セルの値の貼り付け
クリップボード操作のショートカットキーは、Windowsの標準的なキー操作と同じです。詳細は「ショートカット キー」を参照してください。
クリップボード データの書式
クリップボードにコピーされるデータは、Cell.FormattedValueプロパティの値をセルごとにタブ文字で区切り、行を改行コード(Visual BasicではvbCrLf、C#では"\r\n")で区切った書式で出力されます。セルの順番はセルのインデックス(Cell.Index)が使用されます。設計時にセルのインデックスを変更するには「セルインデックスの変更」を参照してください。
クリップボード操作のイベント
GcMultiRowコントロール上でクリップボード操作のアクションが実行されると、GcMultiRow.ClipboardOperatingイベントが発生します。このイベントを使用すると、任意の条件でクリップボード操作をキャンセルできます。たとえば、組み込みのクリップボード処理をキャンセルして、独自のクリップボード操作を実装することができます。
PasswordCharプロパティとInvalidOperationException
TextBoxCell.PasswordCharプロパティの値を設定したとき、セルの値をクリップボードにコピーすることはできません。ユーザーがこの操作を行った場合、InvalidOperationExceptionが発生します。この例外によるメッセージボックスの表示を抑制するには、GcMultiRow.DataErrorイベントを使用します。
行選択時のコピー対象
GcMultiRow.ViewModeプロパティがRowに設定されている場合、編集中のセルの文字列を選択状態にして[Ctrl]+[C]キーの操作を行うと、行全体のデータがコピーされます。この場合、ViewMode.Rowに既定で設定されているショートカットキーの登録解除をすることで編集中のセルのデータだけをコピーすることができます。
Imports GrapeCity.Win.MultiRow
GcMultiRow1.ShortcutKeyManager.Unregister(ViewMode.Row, EditingActions.Copy)
using GrapeCity.Win.MultiRow;
gcMultiRow1.ShortcutKeyManager.Unregister(ViewMode.Row, EditingActions.Copy);
ヘッダキャプションのコピー
GcMultiRow.ClipboardCopyModeプロパティを使用すると、セルの値をクリップボードにコピーする際にヘッダのキャプションもコピー対象に含めるかどうかを指定できます。
ClipboardCopyModeの値 | 説明 |
---|---|
Disable | 切り取り/コピー/貼り付けをサポートしません。 |
EnableWithoutHeaderText | 選択されたセルの値のみをコピーします。ヘッダのキャプションはコピーしません。 |
EnableWithRowHeaderText | 選択されたセルの値と選択されたセルを含む行ヘッダ型セルのキャプションをコピーします。 |
EnableWithColumnHeaderText | 選択されたセルの値と選択されたセルを含む列ヘッダ型セルのキャプションをコピーします。 |
EnableWithHeaderText | 選択されたセルの値と選択されたセルを含む行ヘッダ型セルおよび列ヘッダ型セルのキャプションをコピーします。 |