Po klepnutí na tlačítko Změnit je zahájena transakce. Uvolní se datová pole s vlastnostmi materiálu, zobrazí se skupina potvrzovacích tlačítek a zablokují se jiné možnosti, než měnit obsah datových polí a volba jednoho ze dvou potvrzovacích tlačítek . Kurzor se nastaví na měrnou jednotku. Kód vložíme do regiónu #Region "Editace zaznamu" - #Region "Ridici tlacitka".
Výsledný kód je:
Private Sub btnZmenit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZmenit.Click
'zablokovat jiné možnosti, než změnu materiálu
Me.pnlNavig.Enabled = False
Me.pnlEdit.Enabled = False
Me.btnZavrit.Enabled = False
Me.grbRazeni.Enabled = False
Me.dgvTblMaterial.Enabled = False
'zviditelnit potvrzovací skupinu
Me.pnlPotvrdit.Visible = True
'uvolnit pole pro editaci
Me.cmbMerna_Jed.Enabled = True
Me.txtNazev_Mat.Enabled = True
Me.txtMnoz_Poj.Enabled = True
Me.txtMnoz_Do_Pa.Enabled = True
Me.txtKoment.Enabled = True
Me.cmbMerna_Jed.Focus()
End Sub
Tlačítkem Uložit se ulož všechny změny, zablokují datová pole materiálu, uvolní se navigační a editační tlačítka a zneviditelní se potvrzovací tlačítka. Kód vložíme do regiónu #Region "Editace zaznamu" - #Region "Ridici tlacitka".
Private Sub btnUlozit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUlozit.Click
Try
Me.Validate()
Me.TblMaterialBindingSource.EndEdit() 'ukonceni editace zaznamu
Me.TableAdapterManager.UpdateAll(Me.DsData) 'ulozeni vsech zmen do databaze
'zpristupneni tlacitek
Me.pnlNavig.Enabled = True
Me.pnlEdit.Enabled = True
Me.btnZavrit.Enabled = True
Me.grbRazeni.Enabled = True
Me.dgvTblMaterial.Enabled = True
'znepristupneni editacnich poli
Me.pnlPotvrdit.Visible = False
Me.cmbMerna_Jed.Enabled = False
Me.txtNazev_Mat.Enabled = False
Me.txtMnoz_Poj.Enabled = False
Me.txtMnoz_Do_Pa.Enabled = False
Me.txtKoment.Enabled = False
Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Critical & MsgBoxStyle.OkOnly, "Chyba")
End Try
End Sub
Tlačítko vrátit se od Uložit liší tím, že se odvolají veškeré změny (CancelEdit).
Private Sub btnVratit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVratit.Click
Me.TblMaterialBindingSource.CancelEdit() 'zruseni vsech provedenych zmen
'zpristupneni tlacitek
Me.pnlNavig.Enabled = True
Me.pnlEdit.Enabled = True
Me.btnZavrit.Enabled = True
Me.grbRazeni.Enabled = True
Me.dgvTblMaterial.Enabled = True
'znepristupneni editacnich poli
Me.pnlPotvrdit.Visible = False
Me.cmbMerna_Jed.Enabled = False
Me.txtNazev_Mat.Enabled = False
Me.txtMnoz_Poj.Enabled = False
Me.txtMnoz_Do_Pa.Enabled = False
Me.txtKoment.Enabled = False
End Sub