You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

290 lines
9.3 KiB

Imports System
Imports System.Data
Imports System.Data.SqlTypes
Imports System.Data.SqlClient
Imports System.ComponentModel
Public Class ctlPhasen
Dim m_Connectionstring As String
<DefaultValue("data source=shu00;initial catalog=Vertragsverwaltung;persist security info=False;workstation id=SHU;packet size=4096;user id=sa;password=*shu29"), Description("ConnectionString"), Category("Options")> _
Public Property ConnectionString() As String
Get
ConnectionString = m_Connectionstring
End Get
Set(ByVal Value As String)
If m_Connectionstring <> Value Then
End If
End Set
End Property
Dim m_haschanges As Boolean = False
Public Property HasChanges As Boolean
Get
Return m_haschanges
End Get
Set(value As Boolean)
m_haschanges = value
End Set
End Property
Dim m_Produktnr As Integer
Property Produktnr As Integer
Get
Return m_Produktnr
End Get
Set(value As Integer)
Try
m_Produktnr = value
refresh_details()
Catch
End Try
End Set
End Property
Dim m_mitarbeiternr As Integer
Property Mitarbeiternr As Integer
Get
Return m_mitarbeiternr
End Get
Set(value As Integer)
m_mitarbeiternr = value
End Set
End Property
Dim m_tempfilepath As String
Property TempfilePath As String
Get
Return m_tempfilepath
End Get
Set(value As String)
m_tempfilepath = value
End Set
End Property
Dim m_formreadonly As Boolean
Property FormReadonly As Boolean
Get
Return m_formreadonly
End Get
Set(value As Boolean)
m_formreadonly = value
If value = True Then
Me.ToolStrip1.Visible = False
Me.ContextMenuStrip1.Enabled = False
Else
Me.ToolStrip1.Visible = True
Me.ContextMenuStrip1.Enabled = True
End If
End Set
End Property
Dim Phasendaten As New DataTable
Dim DSPhasen As New DataSet
Dim PhaseStammdaten As New DataTable
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
Dim DAP As SqlDataAdapter
Dim produktphase As New TKB.VV.Lifecycle.clslcProduktPhase
Private Sub refresh_details()
Try
C1Phasen.DataSource = Nothing
Catch
End Try
Me.Phasendaten.Rows.Clear()
Get_Produktphasen(Me.Produktnr)
Refresh_Phasen()
End Sub
Sub Refresh_Phasen()
Try
Me.C1Phasen.DataSource = Nothing
Me.C1Phasen.DataSource = Nothing
Catch
End Try
Phasendaten.Rows.Clear()
Get_Phasen()
Get_Produktphasen(Me.Produktnr)
Me.C1Phasen.DataSource = Phasendaten
Me.SpaltenTitel.Spaltentitel_aktualisieren(C1Phasen, "LC_Produkt_Phase", Me.C1Phasen.DataSource)
Me.C1Phasen.Splits(0).DisplayColumns("lc_Phasenr").Style.HorizontalAlignment = C1.Win.C1TrueDBGrid.AlignHorzEnum.General
Me.C1Phasen.Splits(0).DisplayColumns("lc_phasenr").FetchStyle = True
Me.C1Phasen.Columns("Datum").NumberFormat = "Short Date"
Me.C1PhaseDropDown.DataSource = PhaseStammdaten
Me.C1PhaseDropDown.DisplayMember = "Bezeichnung"
Me.C1PhaseDropDown.ValueMember = "lc_phasenr"
Try
Me.C1Phasen.Columns("LC_PhaseNr").DropDown = Me.C1PhaseDropDown
Me.C1PhaseDropDown.ValueTranslate = True
Me.C1PhaseDropDown.DisplayColumns(0).Width = 0
Me.C1Phasen.Columns("LC_PhaseNr").ValueItems.Translate = True
Catch
End Try
End Sub
Private Sub C1TrueDBGrid1_FetchCellStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs) Handles C1Phasen.FetchCellStyle
e.CellStyle.Locked = True
End Sub
#Region "DB"
Sub Get_Produktphasen(produktnr As Integer)
Try
Dim Connection As New SqlConnection(Globals.sConnectionString)
DAP = New SqlDataAdapter("select * from lc_produkt_phase where lc_produktnr = " & Str(produktnr) + " order by datum asc", Connection)
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DAP)
DAP.Fill(Phasendaten)
Catch ex As Exception
End Try
End Sub
Sub Get_Phasen()
Try
Me.PhaseStammdaten.Rows.Clear()
Dim Connection As New SqlConnection(Globals.sConnectionString)
Dim DA As New SqlDataAdapter("select * from lc_phase where aktiv=1", Connection)
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA)
DA.Fill(PhaseStammdaten)
Catch
End Try
End Sub
Sub Save_Phasen()
Try
DAP.Update(Phasendaten)
Me.HasChanges = False
Catch ex As Exception
End Try
End Sub
#End Region
Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click
Try
Dim f As New frmPhaseDetail(Me.C1Phasen.Columns("lc_produkt_phasenr").Value, Me.Produktnr, False)
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then Refresh_Phasen()
Catch
End Try
End Sub
Private Sub C1Phasen_AfterUpdate(sender As Object, e As C1.Win.C1TrueDBGrid.CancelEventArgs) Handles C1Phasen.BeforeUpdate
Me.C1Phasen.Columns("mutiert_am").Value = Now
Me.C1Phasen.Columns("mutierer").Value = Globals.clsmitarbeiter.iMitarbeiternr.Value
Me.HasChanges = True
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
Dim f As New frmPhaseDetail(0, Me.Produktnr, True)
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then Refresh_Phasen()
End Sub
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
Try
Dim i As Integer
i = produktphase.Get_ProduktPhase(Me.C1Phasen.Columns("lc_produkt_phasenr").Value)
Catch
Exit Sub
Catch ex As Exception
End Try
If MsgBox("Datensatz inaktivieren?", vbYesNo + vbQuestion) = MsgBoxResult.Yes Then
produktphase.Get_ProduktPhase(Me.C1Phasen.Columns("lc_produkt_phasenr").Value)
produktphase.Delete()
Refresh_Phasen()
End If
End Sub
Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click
Try
Dim f As New frmPhaseDetail(Me.C1Phasen.Columns("lc_produkt_phasenr").Value, Me.Produktnr, False, True)
f.ShowDialog()
Catch
End Try
End Sub
Private Sub C1Phasen_DoubleClick(sender As Object, e As EventArgs) Handles C1Phasen.DoubleClick
If Me.FormReadonly = True Then
ToolStripButton3_Click(sender, e)
Else
ToolStripButton4_Click(sender, e)
End If
End Sub
Private Sub NeuerEintragToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuerEintragToolStripMenuItem.Click
Me.ToolStripButton1_Click(sender, e)
End Sub
Private Sub EintragBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragBearbeitenToolStripMenuItem.Click
Try
Me.ToolStripButton4_Click(sender, e)
Catch
End Try
End Sub
Private Sub EintragInaktivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragInaktivierenToolStripMenuItem.Click
ToolStripButton2_Click(sender, e)
End Sub
Private Sub EintragAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragAnzeigenToolStripMenuItem.Click
ToolStripButton3_Click(sender, e)
End Sub
Private Sub C1Phasen_FetchCellTips(sender As Object, e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1Phasen.FetchCellTips
Try
If e.Column.Name <> "Phase" Then
e.CellTip = ""
Exit Sub
End If
For Each r As DataRow In Me.PhaseStammdaten.Rows
Dim phasenr As Integer
phasenr = Me.C1Phasen.Columns("LC_Phasenr").Value
If r("lc_phasenr") = phasenr Then
Me.ToolStrip1.Text = r("bESCHREIBUNG")
e.CellTip = r("bESCHREIBUNG")
End If
Next
' Me.C1SuperTooltip1.SetToolTip(sender, e.CellTip)
'e.CellTip = "" 'disable the
Catch ex As Exception
End Try
End Sub
Private Sub C1Phasen_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Phasen.MouseDown
End Sub
Private Sub c1phasen_mouseOver(sender As Object, e As MouseEventArgs) Handles C1Phasen.MouseMove
'Me.C1Phasen.Bookmark = Me.C1Phasen.RowContaining(e.Y)
'Exit Sub
Dim row As Int32 = C1Phasen.RowContaining(e.Y)
Dim col As Int32 = C1Phasen.ColContaining(e.X)
Dim ptenum As C1.Win.C1TrueDBGrid.PointAtEnum = C1Phasen.PointAt(e.X, e.Y)
If col = 2 Then
Me.C1Phasen.Bookmark = Me.C1Phasen.RowContaining(e.Y)
End If
End Sub
Private Sub C1Phasen_MouseEnter(sender As Object, e As EventArgs) Handles C1Phasen.MouseEnter
Me.C1Phasen.Focus()
End Sub
End Class