Imports VERAG_PROG_ALLGEMEIN Public Class frmNCTSRouten Dim routenId As Integer = -1 Private sql As New VERAG_PROG_ALLGEMEIN.SQL Dim currentRoute As New VERAG_PROG_ALLGEMEIN.cNCTSRouten Private Sub frmNCTSRouten_Load(sender As Object, e As EventArgs) Handles MyBase.Load init() End Sub Sub init() btn_OK.Text = "OK" initDGVRouten() cbxNach.Items.Clear() cbxNach.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) cbxNach.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Suben", "SUB")) cbxNach.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Salzburg", "SBG")) cbxNach.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Waidhofen", "WAI")) cbxNach.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Nickelsdorf", "NKD")) cbxNach.changeItem("") cbxRoutenart.Items.Clear() cbxRoutenart.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) cbxRoutenart.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Landweg", "Landweg")) cbxRoutenart.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Seeweg", "Seeweg")) cbxRoutenart.changeItem("") sbxVon.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) dgvNCTSRouten.ClearSelection() DisableUserControl() End Sub Sub initDGVRouten() dgvNCTSRouten.Enabled = True With dgvNCTSRouten .Columns.Clear() .DataSource = sql.loadDgvBySql("SELECT [nctsr_id],[nctsr_von],[nctsr_nach],[nctsr_dauer_in_tagen],[nctsr_route] FROM [VERAG].[dbo].[tblNTCSRouten]", "VERAG") ' .RowTemplate.Height = 30 .Columns("nctsr_id").Visible = False .Columns("nctsr_von").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("nctsr_von").HeaderText = "Von" .Columns("nctsr_nach").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("nctsr_nach").HeaderText = "Nach" .Columns("nctsr_dauer_in_tagen").Visible = True .Columns("nctsr_dauer_in_tagen").Width = 50 .Columns("nctsr_dauer_in_tagen").HeaderText = "Dauer" .Columns("nctsr_dauer_in_tagen").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter .Columns("nctsr_route").Visible = True .Columns("nctsr_route").Width = 100 .Columns("nctsr_route").HeaderText = "Route" .Columns("nctsr_route").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter End With End Sub Private Sub saveRoute(curRoute As cNCTSRouten) curRoute.nctsr_von = sbxVon._value curRoute.nctsr_nach = cbxNach._value curRoute.nctsr_route = cbxRoutenart._value curRoute.nctsr_dauer_in_tagen = CInt(txtDauer.Text) If Not curRoute.SAVE() Then Me.DialogResult = Windows.Forms.DialogResult.None End If dgvNCTSRouten.GetOrder() initDGVRouten() dgvNCTSRouten.SetOrder() End Sub Private Sub btnNeu_Click(sender As Object, e As EventArgs) Handles btnNeu.Click dgvNCTSRouten.ClearSelection() dgvNCTSRouten.Enabled = False currentRoute = New VERAG_PROG_ALLGEMEIN.cNCTSRouten With { .nctsr_von = "", .nctsr_nach = "", .nctsr_dauer_in_tagen = 0, .nctsr_route = "Landweg" } loadChangedDSToPanel(currentRoute) EnableUserControl() setSaveButton() End Sub Sub setSaveButton() btn_OK.Text = "Speichern" End Sub Private Sub loadChangedDSToPanel(curRoute As VERAG_PROG_ALLGEMEIN.cNCTSRouten) sbxVon.SET_VALUE(curRoute.nctsr_von.ToString) cbxNach.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(curRoute.nctsr_nach.ToString, curRoute.nctsr_nach.ToString)) cbxNach._value = curRoute.nctsr_nach.ToString cbxRoutenart._value = curRoute.nctsr_route.ToString txtDauer.Text = curRoute.nctsr_dauer_in_tagen.ToString For Each c As Control In pnlNCTSRouten.Controls If TypeOf (c) Is CheckBox Then AddHandler CType(c, ComboBox).SelectedValueChanged, AddressOf SomethingChanged ElseIf TypeOf (c) Is TextBox Then AddHandler CType(c, TextBox).TextChanged, AddressOf SomethingChanged End If Next End Sub Private Sub SomethingChanged(sender As Object, e As EventArgs) setSaveButton() End Sub Private Sub btn_OK_Click(sender As Object, e As EventArgs) Handles btn_OK.Click If (btn_OK.Text = "Speichern") Then saveRoute(currentRoute) btn_OK.Text = "OK" Else Close() End If End Sub Private Sub btn_Cancel_Click(sender As Object, e As EventArgs) Handles btn_Cancel.Click Close() End Sub Private Sub EnableUserControl() cbxNach.Enabled = True cbxRoutenart.Enabled = True sbxVon.Enabled = True txtDauer.Enabled = True End Sub Private Sub DisableUserControl() cbxNach.Enabled = False cbxRoutenart.Enabled = False sbxVon.Enabled = False txtDauer.Enabled = False End Sub Private Sub dgvNCTSRouten_SelectionChanged(sender As Object, e As EventArgs) Handles dgvNCTSRouten.SelectionChanged If dgvNCTSRouten.SelectedRows.Count > 0 Then EnableUserControl() Dim rowindex = dgvNCTSRouten.SelectedRows(0).Index currentRoute = New VERAG_PROG_ALLGEMEIN.cNCTSRouten(dgvNCTSRouten.SelectedRows(0).Cells("nctsr_id").Value) loadChangedDSToPanel(currentRoute) If dgvNCTSRouten.Enabled = False Then Exit Sub routenId = dgvNCTSRouten.SelectedRows(0).Cells("nctsr_id").Value End If End Sub Private Sub sbxVon_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles sbxVon.PreviewKeyDown If sender Is sbxVon Then sbxVon.FireReturn() : e.IsInputKey = True : Me.DialogResult = DialogResult.None End Sub End Class