Imports System.Security.Authentication.ExtendedProtection Imports GrapeCity.ActiveReports.Document.Section 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 Public FIRMA_TMP As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Private Sub frmNCTSRouten_Load(sender As Object, e As EventArgs) Handles MyBase.Load init() End Sub Sub init() initDGVRouten() 'Abgangszollstelle cbxVon.Items.Clear() cbxVon.fillWithSQL("SELECT [grz_Grenzstelle],[grz_BezeichnungCBO] FROM tblGrenzstelle where [grz_Firma]='" & FIRMA_TMP & "' OR grz_Cluster='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' AND grz_Aktiv=1 order by grz_Reihenfolge, grz_Grenzstelle", False, "AVISO", True,) cbxVon.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("???", "???")) cbxVon.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"}) 'Bestimmungszollstelle cbxNach.Items.Clear() cbxNach.fillWithSQL("SELECT [grz_Grenzstelle],[grz_BezeichnungCBO] FROM tblGrenzstelle where [grz_Firma]='" & FIRMA_TMP & "' OR grz_Cluster='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' AND grz_Aktiv=1 order by grz_Reihenfolge, grz_Grenzstelle", False, "AVISO", True,) cbxNach.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("???", "???")) cbxNach.changeItem("") sbxNach.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"}) 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("") txtDauer.Text = "" txtVon.Text = "" txtNach.Text = "" 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], [nctsr_tansportmittel] 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 .Columns("nctsr_tansportmittel").HeaderText = "Transportmittel" .Columns("nctsr_tansportmittel").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft End With End Sub Private Sub saveRoute(curRoute As cNCTSRouten) curRoute.nctsr_von = IIf(sbxVon._value Is Nothing, cbxVon._value, sbxVon._value) curRoute.nctsr_nach = IIf(sbxNach._value Is Nothing, cbxNach._value, sbxNach._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 = "", .nctsr_tansportmittel = "LKW" } loadChangedDSToPanel(currentRoute) EnableUserControl() setSaveButton() End Sub Sub setSaveButton() btnSave.Visible = True btnOK.Visible = False End Sub Sub setOKButton() btnSave.Visible = False btnOK.Visible = True End Sub Private Sub loadChangedDSToPanel(curRoute As VERAG_PROG_ALLGEMEIN.cNCTSRouten) txtVon.Text = curRoute.nctsr_von.ToString txtNach.Text = 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 checkDestination() 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 btnOK.Click Close() End Sub Private Sub btn_Cancel_Click(sender As Object, e As EventArgs) Handles btn_Cancel.Click Close() End Sub Private Sub EnableUserControl() For Each c As Control In pnlNCTSRouten.Controls c.Enabled = True Next End Sub Private Sub DisableUserControl() For Each c As Control In pnlNCTSRouten.Controls c.Enabled = False Next 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) 'checkIfValueInComboboxAndAdd(currentRoute) 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 If sender Is sbxNach Then sbxNach.FireReturn() : e.IsInputKey = True : Me.DialogResult = DialogResult.None End Sub 'Private Sub checkIfValueInComboboxAndAdd(curRoute As cNCTSRouten) ' Dim index As Integer ' Dim inList As Boolean ' inList = False ' For index = 0 To cbxNach.Items.Count - 1 ' If curRoute.nctsr_nach.ToString = cbxNach.Items(index).ToString Then ' inList = True ' Exit For ' End If ' Next index ' If inList = False Then cbxNach.Items.Add(curRoute.nctsr_nach.ToString) 'End Sub Public Function GetTxtDauer() As TextBox Return txtDauer End Function Function checkUserInput(txtDauer As TextBox) As Boolean Dim validInputs As Boolean = True lblWarningBST.Visible = False lblWarningAZS.Visible = False lblWarningDauer.Visible = False lblWarningRoute.Visible = False If (cbxVon._value = "" Or cbxVon._value Is Nothing) Then lblWarningAZS.Visible = True validInputs = False End If If (cbxNach._value = "" Or cbxNach._value Is Nothing) Then lblWarningBST.Visible = True validInputs = False End If If (cbxVon._value = "???" AndAlso sbxVon._value Is Nothing) Then lblWarningAZS.Visible = True validInputs = False End If If (cbxNach._value = "???" AndAlso sbxNach._value Is Nothing) Then lblWarningAZS.Visible = True validInputs = False End If If (cbxNach._value = "" Or cbxNach._value Is Nothing) Then lblWarningBST.Visible = True validInputs = False End If If (Not IsNumeric(txtDauer.Text) Or txtDauer.Text = "") Then lblWarningDauer.Visible = True validInputs = False End If If cbxRoutenart._value = "" Or cbxRoutenart._value Is Nothing Then lblWarningRoute.Visible = True validInputs = False End If Return validInputs End Function Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click If checkUserInput(GetTxtDauer()) Then saveRoute(currentRoute) End Sub Private Sub cbxVon_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxVon.SelectedValueChanged If cbxVon._value.ToString = "???" Then setSearchboxVisible(sbxVon, True) Else txtVon.Text = cbxVon._value.ToString setSearchboxVisible(sbxVon, False) sbxVon.Clear() End If End Sub Private Sub cbxNach_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxNach.SelectedValueChanged If cbxNach._value.ToString = "???" Then setSearchboxVisible(sbxNach, True) Else txtVon.Text = cbxVon._value.ToString setSearchboxVisible(sbxNach, False) sbxNach.Clear() End If End Sub Sub setSearchboxVisible(searchbox As VERAG_PROG_ALLGEMEIN.MySearchBox, visible As Boolean) searchbox.Visible = visible End Sub End Class