【VB.NET】DataGridViewにボタン列を配置する

画面イメージ

ボタン列クリック時に行を削除する

VB
 Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

     ' ボタン列ではない場合、スキップ
     If TypeOf DataGridView1.Columns(e.ColumnIndex) IsNot DataGridViewButtonColumn Then Return
     'ヘッダの場合、スキップ
     If e.RowIndex < 0 Then Return

     ' クリックされた行を削除
     DataGridView1.Rows.RemoveAt(e.RowIndex)

 End Sub

DataGridViewをボタン列を配置する

VB
 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

     'ボタン列を追加
     Dim BtnCol As New DataGridViewButtonColumn
     With BtnCol
         .Name = "Button"
         .UseColumnTextForButtonValue = True
         .Text = "削除"
     End With
     DataGridView1.Columns.Add(BtnCol)

     Dim dt As New DataTable
     With dt
         .Columns.Add("Title", GetType(String))
         .Columns.Add("URL", GetType(String))
         .Rows.Add("Enter押下をキャンセル", "https://freycode.com/vbnet-dgv-cancelenter")
         .Rows.Add("入力チェック", "https://freycode.com/vbnet-dgv-inputcheck")
         .Rows.Add("値変更の即時反映", "https://freycode.com/vbnet-dgv-commit")
     End With

     With DataGridView1
         .DataSource = dt
         .AllowUserToAddRows = False
         .Columns("Title").Width = 120
         .Columns("URL").Width = 250
     End With

 End Sub

コメント

タイトルとURLをコピーしました