明細行削除ボタン [VB]

Visual Basic ADO.NET [Community Express]

行確認ボタン・行追加ボタンクリック処理

FormJuchuEntryクラスに、選択明細行削除ボタンクリック処理を実装します。受注明細行を削除するときは、削除する行を選択して、選択行削除ボタンをクリックします。

サンプルプログラム

受注エントリー画面

行を選択して、[選択明細行削除ボタン]をクリックすると、削除確認メッセージボックスを表示します。

「はい」がクリックされたら、選択行を削除します。

「いいえ」がクリックされたら、何も処理しません。

【選択明細行削除ボタンクリック処理】

選択行は、CurrentRow.Indexプロパティに設定されるので、この値を使って、バインディングソースから選択行を削除します。同時に明細行リストからも、この行が削除されます。

ソースリストの枠内をクリックすると全選択できます。

    '*******************************************************
    ' 選択明細行削除ボタンクリック処理
    '*******************************************************
    Private Sub BtnGyoSakujo_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles BtnGyoSakujo.Click

        Try
            ' 選択行インデックスの取得
            Dim gyoNo As Integer
            gyoNo = DgvMeisai.CurrentRow.Index + 1
            ' 確認メッセージ表示
            Dim yesNo As DialogResult
            yesNo = MessageBox.Show _
                (gyoNo.ToString & _
                 "行目を削除してもよろしいですか", _
                 "明細行削除", MessageBoxButtons.YesNo)
            ' 「はい」を選択したら選択行を削除
            If yesNo = Windows.Forms.DialogResult.Yes Then
                ' バインディングソースから削除
                bindingSrc.RemoveAt _
                    (DgvMeisai.CurrentRow.Index)
            End If
            ' 受注合計金額を計算
            Dim sum As Integer = 0
            For i As Integer = 0 To meisaiList.Count - 1
                sum += meisaiList(i).JuchuKingaku
            Next
            LblGokeiKingaku.Text = sum.ToString("#,##0")
            ' 商品コードにフォーカス
            TxtShohinCode.Focus()
            ' 明細行有無によるボタンの活性不活性
            If meisaiList.Count > 0 Then
                ' 選択行削除ボタン押下可能
                BtnGyoSakujo.Enabled = True
                ' 選択行変更ボタン押下可能
                BtnGyoHenko.Enabled = True
            Else
                ' 選択行削除ボタン押下不可
                BtnGyoSakujo.Enabled = False
                ' 選択行変更ボタン押下不可
                BtnGyoHenko.Enabled = False
            End If
        Catch ex As Exception
            MessageBox.Show(ex.ToString, "例外発生")
        End Try

    End Sub