作成日: 2019/12/18 最終更新日: 2020/05/28
文書種別
不具合
状況
修正済み
詳細
クライアント側スクリプトのClearメソッドがコマンドバーのカットボタンと同じ動作になり、別のセルを選択した後でPasteメソッドを呼び出したりコマンドバーの貼り付けボタンを押下すると値がペーストされます。
【再現手順】
1.新規にプロジェクトを作成し、WebフォームにSPREADとボタンを配置する
2.配置したボタンに以下のコードを紐付け、ボタン押下時にClear処理が行われるようにする
3.実行画面でClearボタンを押下し、コマンドバーの貼り付けボタンを押下する
----------Clearした情報が張り付いてしまう
◎サンプルコード
【再現手順】
1.新規にプロジェクトを作成し、WebフォームにSPREADとボタンを配置する
2.配置したボタンに以下のコードを紐付け、ボタン押下時にClear処理が行われるようにする
3.実行画面でClearボタンを押下し、コマンドバーの貼り付けボタンを押下する
----------Clearした情報が張り付いてしまう
◎サンプルコード
------------------------------------
クライアント側
------------------------------------
function ClearTest() {
var spread = document.getElementById("FpSpread1");
spread.Clear();
}
クライアント側
------------------------------------
function ClearTest() {
var spread = document.getElementById("FpSpread1");
spread.Clear();
}
回避方法
Service Pack 6(v10.0.4011.2013)で修正済み。
Service Pack 6より前のバージョンでは次の回避方法が有効です。
GetSelectedRangeメソッドを使用して選択範囲に対するクリア処理を独自に実装します。
◎サンプルコード
Service Pack 6より前のバージョンでは次の回避方法が有効です。
GetSelectedRangeメソッドを使用して選択範囲に対するクリア処理を独自に実装します。
◎サンプルコード
------------------------------------
クライアント側
------------------------------------
function ClearTest() {
var spread = document.getElementById("FpSpread1");
//spread.Clear();
// 回避方法
var rg = spread.GetSelectedRange();
switch (rg.type) {
case "Cell":
for (var i = rg.row; i < rg.row + rg.rowCount; i++) {
for (var j = rg.col; j < rg.col + rg.colCount; j++) {
spread.SetValue(i, j, "", true);
}
}
break;
case "Row":
var cols = spread.GetColCount();
for (var i = rg.row; i < rg.row + rg.rowCount; i++) {
for (var j = 0; j < cols; j++) {
spread.SetValue(i, j, "", true);
}
}
break;
case "Column":
var rows = spread.GetRowCount();
for (var i = 0; i < rows; i++) {
for (var j = rg.col; j < rg.col + rg.colCount; j++) {
spread.SetValue(i, j, "", true);
}
}
break;
}
}
クライアント側
------------------------------------
function ClearTest() {
var spread = document.getElementById("FpSpread1");
//spread.Clear();
// 回避方法
var rg = spread.GetSelectedRange();
switch (rg.type) {
case "Cell":
for (var i = rg.row; i < rg.row + rg.rowCount; i++) {
for (var j = rg.col; j < rg.col + rg.colCount; j++) {
spread.SetValue(i, j, "", true);
}
}
break;
case "Row":
var cols = spread.GetColCount();
for (var i = rg.row; i < rg.row + rg.rowCount; i++) {
for (var j = 0; j < cols; j++) {
spread.SetValue(i, j, "", true);
}
}
break;
case "Column":
var rows = spread.GetRowCount();
for (var i = 0; i < rows; i++) {
for (var j = rg.col; j < rg.col + rg.colCount; j++) {
spread.SetValue(i, j, "", true);
}
}
break;
}
}
旧文書番号
84747