作成日: 2014/09/26 最終更新日: 2014/09/26
文書種別
使用方法
詳細
True DBGrid for WinFormsの標準機能では単一行の削除のみが可能です。そのため、選択された複数行を削除する場合にはコードによる実装が必要となります。具体的には、選択されている複数行を1行ずつカレント行に設定していき、カレント行を削除していくといった処理になります。選択されている複数行を削除する場合は、選択されている行の最後尾から削除していく必要がある点に注意してください。下記コードにて、複数行を選択し、[Delete]キーにより複数行を削除する処理を実装できます。
[True DBGrid for WinForms ユーザーガイド]
- [True DBGrid for WinForms の使い方]
- [実行時の操作]
- [データベースの操作]
- [レコードを削除する]
◎サンプルコード(VB)
◎サンプルコード(C#)
private void c1TrueDBGrid1_KeyDown(object sender, KeyEventArgs e)
{
// Deleteキーが押された場合
if (e.KeyCode == Keys.Delete)
{
e.Handled = true;
// 選択行の削除
// SelectedRowCollectionにより選択行を取得
int max = c1TrueDBGrid1.SelectedRows.Count - 1;
for (int i = max; i >= 0; i--)
{
// カレント行を選択行に移動
c1TrueDBGrid1.Bookmark = c1TrueDBGrid1.SelectedRows[i];
// カレント行を削除
c1TrueDBGrid1.Delete();
}
// 選択状態をクリア
c1TrueDBGrid1.SelectedRows.Clear();
c1TrueDBGrid1.SelectedCols.Clear();
}
}
[True DBGrid for WinForms ユーザーガイド]
- [True DBGrid for WinForms の使い方]
- [実行時の操作]
- [データベースの操作]
- [レコードを削除する]
◎サンプルコード(VB)
Private Sub C1TrueDBGrid1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles C1TrueDBGrid1.KeyDown
' Deleteキーが押された場合
If e.KeyCode = Keys.Delete Then
e.Handled = True
' 選択行の削除
' SelectedRowCollectionにより選択行を取得
Dim max As Integer = C1TrueDBGrid1.SelectedRows.Count - 1
For i As Integer = max To 0 Step -1
' カレント行を選択行に移動
C1TrueDBGrid1.Bookmark = C1TrueDBGrid1.SelectedRows(i)
' カレント行を削除
C1TrueDBGrid1.Delete()
Next
' 選択状態をクリア
C1TrueDBGrid1.SelectedRows.Clear()
C1TrueDBGrid1.SelectedCols.Clear()
End If
End Sub
' Deleteキーが押された場合
If e.KeyCode = Keys.Delete Then
e.Handled = True
' 選択行の削除
' SelectedRowCollectionにより選択行を取得
Dim max As Integer = C1TrueDBGrid1.SelectedRows.Count - 1
For i As Integer = max To 0 Step -1
' カレント行を選択行に移動
C1TrueDBGrid1.Bookmark = C1TrueDBGrid1.SelectedRows(i)
' カレント行を削除
C1TrueDBGrid1.Delete()
Next
' 選択状態をクリア
C1TrueDBGrid1.SelectedRows.Clear()
C1TrueDBGrid1.SelectedCols.Clear()
End If
End Sub
◎サンプルコード(C#)
private void c1TrueDBGrid1_KeyDown(object sender, KeyEventArgs e)
{
// Deleteキーが押された場合
if (e.KeyCode == Keys.Delete)
{
e.Handled = true;
// 選択行の削除
// SelectedRowCollectionにより選択行を取得
int max = c1TrueDBGrid1.SelectedRows.Count - 1;
for (int i = max; i >= 0; i--)
{
// カレント行を選択行に移動
c1TrueDBGrid1.Bookmark = c1TrueDBGrid1.SelectedRows[i];
// カレント行を削除
c1TrueDBGrid1.Delete();
}
// 選択状態をクリア
c1TrueDBGrid1.SelectedRows.Clear();
c1TrueDBGrid1.SelectedCols.Clear();
}
}
旧文書番号
69954