Visual Basic 限定的サンプル |
Button1をクリックするとSQL ServerのサンプルデータベースであるpubsのauthorsテーブルをDataGrid1に表示します。1列目が選択されている状態でDeleteキーを押すとメッセージが表示されます。
必要なコントロール |
Button1 |
DataGrid1 |
Private
Sub Button1_Click(ByVal
sender As System.Object,
ByVal e As System.EventArgs)
Handles Button1.Click '●グリッドにデータを表示 Dim Cn As SqlClient.SqlConnection 'データベースへの接続方法は環境により異なります。以下の行を適当に書き換えてください。 Cn = New SqlClient.SqlConnection("Server=(local);User ID=sa;Password=;Initial Catalog=pubs") Dim sqlSelect As New SqlClient.SqlCommand("SELECT * FROM authors", Cn) Dim Adapter As New SqlClient.SqlDataAdapter(sqlSelect) Dim Table As New DataTable("DefaultTable") Adapter.Fill(Table) DataGrid1.DataSource = Table '●KeyDownイベントの割り当て 'ここでは最初の列にだけKeyDownイベントを割り当てる。 '列を動的に生成している場合は以下のような感じになる。 AddHandler CType(DataGrid1.Controls(2), DataGridTextBox).KeyDown, AddressOf DGTextBox_KeyDown 'データグリッドに列をあらかじめ明示的に定義している場合は次のような記述の方が良い 'AddHandler DataGridTextBoxColumn1.TextBox.KeyDown, AddressOf DGTextBox_KeyDown End Sub |
Private Sub
DGTextBox_KeyDown(ByVal sender
As Object,
ByVal e As
System.Windows.Forms.KeyEventArgs) If e.KeyCode = Keys.Delete Then 'Deleteキーが押された場合 Dim RowIndex As Integer RowIndex = DataGrid1.CurrentRowIndex MsgBox(RowIndex + 1 & "行目でDeleteキーが押されました。") End If End Sub |