On After Edit
| コード | 呼び出し元 | 定義 |
|---|---|---|
| 45 | 4D View Pro エリア - 4D Write Pro エリア - コンボボックス - フォーム - 入力 - 階層リスト - リストボックス - リストボックス列 | フォーカスのある入力可能オブジェクトの内容が更新された |
説明
一般的なケース
このイベントは、キーボード入力可能なオブジェクトへのデータ入力を最も低レベルでフィルターするために使用できます。
このイベントは、変更がおこなわれた方法に関係なく、入力可能オブジェクトの内容が変更されるたびに生成されます。つまり:
- ペーストやカット、削除、キャンセルなどの標準の編集アクション
- 値のドロップ (ペーストと同様のアクション)
- ユーザーがおこなったキーボードからの入力。この場合、
On After EditイベントはOn Before KeystrokeとOn After Keystrokeイベントの後に生成されます。 - ユーザーアクションをシミュレートするランゲージコマンドによる変更 (例:
POST KEY)。
On After Edit イベント内において、入力テキストは Get edited text コマンドによって返されます。
4D View Pro
FORM Event によって返されるオブジェクトには以下のプロパティが格納されます:
| プロパティ | 型 | 説明 |
|---|---|---|
| code | longint | On After Edit |
| description | text | "On After Edit" |
| objectName | text | 4D View Pro エリア名 |
| sheetName | text | イベントが発生したシート名 |
| action | text | "editChange", "valueChanged", "DragDropBlock", "DragFillBlock", "formulaChanged", "clipboardPasted" |
action プロパティの値に応じて、イベントオブジェクト には追加のプロパティが含まれます。
action = editChange
| プロパティ | 型 | 説明 |
|---|---|---|
| range | object | セルのレンジ |
| editingText | variant | カレントエディターでの値 |
action = valueChanged
| プロパティ | 型 | 説明 |
|---|---|---|
| range | object | セルのレンジ |
| oldValue | variant | 変更前のセルの値 |
| newValue | variant | 変更後のセルの値 |
action = DragDropBlock
| プロパティ | 型 | 説明 |
|---|---|---|
| fromRange | object | ソースセルレンジ (ドラッグされる範囲) のレンジ |
| toRange | object | 移行先セルレンジ (ドロップされる場所) のレンジ |
| copy | boolean | ソースレンジがコピーされたかどうかを表します |
| insert | boolean | ソースレンジが挿入されたかどうかを表します |
action = DragFillBlock
| プロパティ | 型 | 説明 |
|---|---|---|
| fillRange | object | 自動入力のために使用されるレンジ |
| autoFillType | longint | 自動入力のために使用される値。 |
| fillDirection | longint | フィルの方向 |
action = formulaChanged
| プロパティ | 型 | 説明 |
|---|---|---|
| range | object | セルのレンジ |
| formula | text | 入力されたフォーミュラ |
action = clipboardPasted
| プロパティ | 型 | 説明 |
|---|---|---|
| range | object | セルのレンジ |
| pasteOption | longint | クリップボードから何をペーストされたかを表します: |
| pasteData | object | クリップボードからペーストされるデータ |
例題
以下は On After Edit イベントを管理する例です:
If(FORM Event.code=On After Edit)
If(FORM Event.action="valueChanged")
ALERT("警告: 値を変更しました。\
元の値: "+String(FORM Event.oldValue)+\
" 変更後の値: "+String(FORM Event.newValue)+"!")
End if
End if
上記のコードにより生成されたイベントオブジェクトは、以下のような形式をしています:
{
"code":45;
"description":"On After Edit";
"objectName":"ViewProArea"
"sheetname":"Sheet1";
"action":"valueChanged";
"range": {area:ViewProArea,ranges:[{column:1,row:2,sheet:1}]};
"oldValue":"The quick brown fox";
"newValue":"jumped over the lazy dog";
}