選択範囲のデータを[Delete]キー押下によって一括削除したい
対象製品
SPREAD for Windows Forms 8.0J
詳細
指定範囲のデータのみをクリアする場合には、[Delete]キーに割り当てられているデフォルトの入力マップをClearSelectedCellsData(データまたは数式をクリア)に変更することで実現できます。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' テストデータの設定
FpSpread1.ActiveSheet.RowCount = 10
FpSpread1.ActiveSheet.ColumnCount = 5
Dim i As Integer
Dim j As Integer
For i = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, i + j)
Next
Next
FpSpread1.ActiveSheet.Cells(1, 1).BackColor = Color.Yellow
' 非編集セルでの[Delete]キーの設定
Dim im As New FarPoint.Win.Spread.InputMap
im = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused)
'im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCells) ' 「ClearSelectedCells(選択されたセルの内容をすべて削除)」
im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCellsData) ' 「ClearSelectedCellsData(データまたは数式をクリア)」
End Sub
' テストデータの設定
FpSpread1.ActiveSheet.RowCount = 10
FpSpread1.ActiveSheet.ColumnCount = 5
Dim i As Integer
Dim j As Integer
For i = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, i + j)
Next
Next
FpSpread1.ActiveSheet.Cells(1, 1).BackColor = Color.Yellow
' 非編集セルでの[Delete]キーの設定
Dim im As New FarPoint.Win.Spread.InputMap
im = FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused)
'im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCells) ' 「ClearSelectedCells(選択されたセルの内容をすべて削除)」
im.Put(New FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCellsData) ' 「ClearSelectedCellsData(データまたは数式をクリア)」
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
// テストデータの設定
fpSpread1.ActiveSheet.RowCount = 10;
fpSpread1.ActiveSheet.ColumnCount = 5;
for (int i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
for (int j = 0; j < fpSpread1.ActiveSheet.ColumnCount; j++)
{
fpSpread1.ActiveSheet.SetValue(i, j, i + j);
}
}
fpSpread1.ActiveSheet.Cells[1, 1].BackColor = Color.Yellow;
// 非編集セルでの[Delete]キーの設定
FarPoint.Win.Spread.InputMap im = new FarPoint.Win.Spread.InputMap();
im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
//im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCells); // 「ClearSelectedCells(選択されたセルの内容をすべて削除)」
im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCellsData); // 「ClearSelectedCellsData(データまたは数式をクリア)」
}
{
// テストデータの設定
fpSpread1.ActiveSheet.RowCount = 10;
fpSpread1.ActiveSheet.ColumnCount = 5;
for (int i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
for (int j = 0; j < fpSpread1.ActiveSheet.ColumnCount; j++)
{
fpSpread1.ActiveSheet.SetValue(i, j, i + j);
}
}
fpSpread1.ActiveSheet.Cells[1, 1].BackColor = Color.Yellow;
// 非編集セルでの[Delete]キーの設定
FarPoint.Win.Spread.InputMap im = new FarPoint.Win.Spread.InputMap();
im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
//im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCells); // 「ClearSelectedCells(選択されたセルの内容をすべて削除)」
im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Delete, Keys.None), FarPoint.Win.Spread.SpreadActions.ClearSelectedCellsData); // 「ClearSelectedCellsData(データまたは数式をクリア)」
}