Public Class usrcntlTripDetail Property Trip As New cTrips Private fromIndex As Integer Private dragIndex As Integer Private dragRect As Rectangle Dim SelectedDGVIndex As Integer = 0 Private Sub usrcntlTripDetail_Load(sender As Object, e As EventArgs) Handles Me.Load lblTrip.Text &= " " & Trip.tripNr lblTransporter.Text = "Frächter: " & Trip.trip_Transporter FillDGV() End Sub Function FillDGV() With dgvAuftraege .DataSource = Trip.trip_Aufträge .Columns("atr_id").Visible = False .Columns("atr_frachtpos").HeaderText = "FrachtposNr." .Columns("atr_frachtpos").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("atr_FilialenNr").Visible = False .Columns("atr_TransportauftragArt").Visible = False .Columns("atr_frachtf_firma").Visible = False .Columns("atr_frachtfAb_firma").Visible = False .Columns("atr_ladest_firma").HeaderText = "Ladestelle" .Columns("atr_entladest_firma").HeaderText = "Entladestelle" .Columns("atr_tripNr").Visible = False .Columns("atr_tripStopNr").Visible = False .Columns("atr_tripStopNr").HeaderText = "StopNr." End With End Function Private Sub dgvAuftraege_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles dgvAuftraege.DragDrop Dim p As Point = dgvAuftraege.PointToClient(New Point(e.X, e.Y)) dragIndex = dgvAuftraege.HitTest(p.X, p.Y).RowIndex 'Determine if dragindex is valid row index If dragIndex > -1 Then If (e.Effect = DragDropEffects.Move) Then Dim oldr As DataRow = Trip.trip_Aufträge.Rows(fromIndex) Dim newr As DataRow = Trip.trip_Aufträge.NewRow() newr.ItemArray = oldr.ItemArray Trip.trip_Aufträge.Rows.Remove(oldr) 'ds.AcceptChanges() Trip.trip_Aufträge.Rows.InsertAt(newr, dragIndex) 'Add this line of code if you want to put selected rows to the rows that change dgvAuftraege.Rows(dragIndex).Selected = True End If Else 'Do any message here if selected in column header and blank space. End If SetTripStopNr() End Sub Private Sub dgvAuftraege_DragOver(ByVal sender As Object, ByVal e As DragEventArgs) _ Handles dgvAuftraege.DragOver e.Effect = DragDropEffects.Move End Sub Private Sub dgvAuftraege_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) _ Handles dgvAuftraege.MouseDown fromIndex = dgvAuftraege.HitTest(e.X, e.Y).RowIndex If fromIndex > -1 Then Dim dragSize As Size = SystemInformation.DragSize dragRect = New Rectangle(New Point(e.X - (dragSize.Width / 2), e.Y - (dragSize.Height / 2)), dragSize) Else dragRect = Rectangle.Empty End If End Sub Private Sub dgvAuftraege_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) _ Handles dgvAuftraege.MouseMove If (e.Button And MouseButtons.Left) = MouseButtons.Left Then If (dragRect <> Rectangle.Empty _ AndAlso Not dragRect.Contains(e.X, e.Y)) Then dgvAuftraege.DoDragDrop(dgvAuftraege.Rows(fromIndex), DragDropEffects.Move) End If End If End Sub Function SetTripStopNr() For Each row As DataRow In Trip.trip_Aufträge.Rows row.Item("atr_tripStopNr") = Trip.trip_Aufträge.Rows.IndexOf(row) Next End Function Private Sub btnSpeichern_Click(sender As Object, e As EventArgs) Handles btnSpeichern.Click Trip.SaveTripAuftraege() lblTransporter.Text = "Frächter: " & Trip.trip_Transporter End Sub Private Sub btnChange_Click(sender As Object, e As EventArgs) Handles btnChange.Click, dgvAuftraege.CellDoubleClick SelectedDGVIndex = dgvAuftraege.CurrentRow.Index Dim frmAuftr = New frmAuftragNEU Try If frmAuftr.Visible Then MsgBox("Ein Auftrag ist bereits geöffnet!", vbCritical, "Fenster geöffnet") frmAuftr.BringToFront() Else frmAuftr.auftragID = dgvAuftraege.CurrentRow.Cells("atr_id").Value frmAuftr.Show() AddHandler frmAuftr.Disposed, AddressOf meEnabledTrue Me.Enabled = False End If ' Me.Enabled = False Catch ex As Exception Me.Enabled = True End Try End Sub Private Sub meEnabledTrue() Me.Enabled = True If Trip.LoadTrip() Then lblTransporter.Text = "Frächter: " & Trip.trip_Transporter FillDGV() Me.BringToFront() Else ParentForm.Close() End If End Sub Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click 'If usrcntlEntladestelle.BET_ID >= 0 Then ' AUFTRAG.avisoentlade = DISPO.getAvisoFromKundeByIds(usrcntlEntladestelle.BET_ID) 'Else ' AUFTRAG.avisoentlade = Nothing 'End If 'If usrcntlLadestelle.BET_ID >= 0 Then ' AUFTRAG.avisolade = DISPO.getAvisoFromKundeByIds(usrcntlLadestelle.BET_ID) 'Else ' AUFTRAG.avisolade = Nothing 'End If Dim AUFTRAG As New cDispoAuftraege AUFTRAG.atr_id = Trip.trip_Aufträge.Rows(0).Item("atr_id") AUFTRAG.LOAD() Dim PrintActiveReports As New frmPrintActiveReports PrintActiveReports.Standort = Trip.trip_FilNr PrintActiveReports.Reporter = "Transportauftrag" PrintActiveReports.istrip = True PrintActiveReports.printauftrag = AUFTRAG ' Dim trip As New cTrips ' Trip.tripNr = AUFTRAG.atr_tripNr 'Trip.LoadTrip() PrintActiveReports.printTrip = trip PrintActiveReports.Show() End Sub Private Sub btnAddTo_Click(sender As Object, e As EventArgs) Handles btnAddTo.Click Dim frm As New frmLeer frm.Text = "Auftrag zu Trip " & Trip.tripNr & " hinzufügen" frm.Size = New Size(1420, 831) Dim usrcntrl As New usrcntlAuftraege usrcntrl.CustomButtons = "AddToTrip" usrcntrl.Trip = Trip usrcntrl.Dock = DockStyle.Fill : frm.PanMain.Controls.Add(usrcntrl) AddHandler frm.Disposed, AddressOf meEnabledTrue Me.Enabled = False frm.Show() End Sub End Class