編集ウインドウが無効になった場合に発生します。
Eventオブジェクトには以下の子オブジェクトが付加されています。
型 |
名前 |
説明 |
Number |
row |
編集ウィンドウが無効となった行位置 |
Number |
col |
編集ウィンドウが無効となった列位置 |
rowとcolには、以前編集状態となっていた行と列の番号が設定されます。
より、編集中の行を削除したことにより発生するStopEditイベントに設定されるrow,colは、Spread.InvalidPositionが設定されます。
例
Number edit_row;
Number edit_col;
Function OnStopEdit(e) {
var edit = null;
var col = e.col;
if (col == Spread.InvalidPosition) {
col = edit_col;
}
switch (col) {
case 0:
edit = frmSpreadEdit.ebText;
break;
case 1:
edit = frmSpreadEdit.ebNumber;
break;
case 2:
edit = frmSpreadEdit.ebDate;
break;
default:
edit_row = -1;
edit_col = -1;
return;
}
if (edit_row == e.row && edit_col == e.col) {
SetCell(e.row, e.col, edit.Value);
}
if (edit != null) {
edit.Visible = $FALSE;
}
edit_row = -1;
edit_col = -1;
}
Biz/Browserのイベントはイベントキューを経由するため、必ず、StartEditイベントあるいはStopEditイベントの子オブジェクトとして渡されるrow、colオブジェクトを使用して処理を行うようにしてください。OnStartEdit、OnStopEditイベントハンドラ内で、Value、ColumnPositionプロパティを使用してカーソル位置を取得するとイベントで通知される位置とは異なることがあります。
StartEditイベントはStopEditイベントと対になりますが、その発生順序の保証はありません。以下のようにイベントが発生する可能性があることに注意してください。
StartEdit (row=0, col=0)
StartEdit (row=1, col=0)
StopEdit (row=0, col=0)
StopEdit (row=1, col=0)