IDS-Preise

This commit is contained in:
2025-09-23 12:58:52 +02:00
parent b2b127c99f
commit 1df3503f8f
2 changed files with 547 additions and 90 deletions

View File

@@ -23,9 +23,8 @@ Partial Class usrCntlIDSPreise
<System.Diagnostics.DebuggerStepThrough()> <System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container() Me.components = New System.ComponentModel.Container()
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Me.lblIDS = New System.Windows.Forms.TextBox() Me.lblIDS = New System.Windows.Forms.TextBox()
Me.Label11 = New System.Windows.Forms.Label()
Me.dgvOfferteDetails = New System.Windows.Forms.DataGridView() Me.dgvOfferteDetails = New System.Windows.Forms.DataGridView()
Me.cntxtAddSdl = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.cntxtAddSdl = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.DToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -35,9 +34,14 @@ Partial Class usrCntlIDSPreise
Me.cbxTypes = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.cbxTypes = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.btnCloseEditMode = New VERAG_PROG_ALLGEMEIN.FlatButton() Me.btnCloseEditMode = New VERAG_PROG_ALLGEMEIN.FlatButton()
Me.lblEditMode = New System.Windows.Forms.Label() Me.lblEditMode = New System.Windows.Forms.Label()
Me.btnKunde = New System.Windows.Forms.Button()
Me.dgvFILTER = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.Label1 = New System.Windows.Forms.Label()
Me.btnRW = New System.Windows.Forms.Button()
CType(Me.dgvOfferteDetails, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dgvOfferteDetails, System.ComponentModel.ISupportInitialize).BeginInit()
Me.cntxtAddSdl.SuspendLayout() Me.cntxtAddSdl.SuspendLayout()
CType(Me.dgvIDS, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dgvIDS, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.dgvFILTER, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
'lblIDS 'lblIDS
@@ -53,35 +57,25 @@ Partial Class usrCntlIDSPreise
Me.lblIDS.TabIndex = 0 Me.lblIDS.TabIndex = 0
Me.lblIDS.Text = "IDS" Me.lblIDS.Text = "IDS"
' '
'Label11
'
Me.Label11.AutoSize = True
Me.Label11.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label11.Location = New System.Drawing.Point(233, 16)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(50, 13)
Me.Label11.TabIndex = 2
Me.Label11.Text = "Details:"
'
'dgvOfferteDetails 'dgvOfferteDetails
' '
Me.dgvOfferteDetails.AllowUserToAddRows = False Me.dgvOfferteDetails.AllowUserToAddRows = False
Me.dgvOfferteDetails.AllowUserToDeleteRows = False Me.dgvOfferteDetails.AllowUserToDeleteRows = False
Me.dgvOfferteDetails.AllowUserToOrderColumns = True Me.dgvOfferteDetails.AllowUserToOrderColumns = True
Me.dgvOfferteDetails.AllowUserToResizeRows = False Me.dgvOfferteDetails.AllowUserToResizeRows = False
DataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) DataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer))
Me.dgvOfferteDetails.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle1 Me.dgvOfferteDetails.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle2
Me.dgvOfferteDetails.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Me.dgvOfferteDetails.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.dgvOfferteDetails.BackgroundColor = System.Drawing.Color.White Me.dgvOfferteDetails.BackgroundColor = System.Drawing.Color.White
Me.dgvOfferteDetails.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing Me.dgvOfferteDetails.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing
Me.dgvOfferteDetails.Location = New System.Drawing.Point(235, 32) Me.dgvOfferteDetails.Location = New System.Drawing.Point(235, 63)
Me.dgvOfferteDetails.MultiSelect = False Me.dgvOfferteDetails.MultiSelect = False
Me.dgvOfferteDetails.Name = "dgvOfferteDetails" Me.dgvOfferteDetails.Name = "dgvOfferteDetails"
Me.dgvOfferteDetails.RowHeadersVisible = False Me.dgvOfferteDetails.RowHeadersVisible = False
Me.dgvOfferteDetails.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect Me.dgvOfferteDetails.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.dgvOfferteDetails.Size = New System.Drawing.Size(796, 475) Me.dgvOfferteDetails.Size = New System.Drawing.Size(928, 444)
Me.dgvOfferteDetails.TabIndex = 5 Me.dgvOfferteDetails.TabIndex = 5
' '
'cntxtAddSdl 'cntxtAddSdl
@@ -103,7 +97,7 @@ Partial Class usrCntlIDSPreise
Me.btnOfferteSpeichern.ForeColor = System.Drawing.Color.Black Me.btnOfferteSpeichern.ForeColor = System.Drawing.Color.Black
Me.btnOfferteSpeichern.Image = Global.SDL.My.Resources.Resources.save Me.btnOfferteSpeichern.Image = Global.SDL.My.Resources.Resources.save
Me.btnOfferteSpeichern.ImageAlign = System.Drawing.ContentAlignment.TopLeft Me.btnOfferteSpeichern.ImageAlign = System.Drawing.ContentAlignment.TopLeft
Me.btnOfferteSpeichern.Location = New System.Drawing.Point(899, 514) Me.btnOfferteSpeichern.Location = New System.Drawing.Point(1031, 514)
Me.btnOfferteSpeichern.Name = "btnOfferteSpeichern" Me.btnOfferteSpeichern.Name = "btnOfferteSpeichern"
Me.btnOfferteSpeichern.Size = New System.Drawing.Size(132, 36) Me.btnOfferteSpeichern.Size = New System.Drawing.Size(132, 36)
Me.btnOfferteSpeichern.TabIndex = 15 Me.btnOfferteSpeichern.TabIndex = 15
@@ -121,7 +115,7 @@ Partial Class usrCntlIDSPreise
Me.btnEditIDS.FlatAppearance.BorderSize = 0 Me.btnEditIDS.FlatAppearance.BorderSize = 0
Me.btnEditIDS.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnEditIDS.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnEditIDS.ForeColor = System.Drawing.Color.Black Me.btnEditIDS.ForeColor = System.Drawing.Color.Black
Me.btnEditIDS.Location = New System.Drawing.Point(965, 6) Me.btnEditIDS.Location = New System.Drawing.Point(1097, 4)
Me.btnEditIDS.Name = "btnEditIDS" Me.btnEditIDS.Name = "btnEditIDS"
Me.btnEditIDS.Size = New System.Drawing.Size(20, 20) Me.btnEditIDS.Size = New System.Drawing.Size(20, 20)
Me.btnEditIDS.TabIndex = 1 Me.btnEditIDS.TabIndex = 1
@@ -168,7 +162,7 @@ Partial Class usrCntlIDSPreise
Me.btnCloseEditMode.FlatAppearance.BorderSize = 0 Me.btnCloseEditMode.FlatAppearance.BorderSize = 0
Me.btnCloseEditMode.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCloseEditMode.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCloseEditMode.ForeColor = System.Drawing.Color.Black Me.btnCloseEditMode.ForeColor = System.Drawing.Color.Black
Me.btnCloseEditMode.Location = New System.Drawing.Point(1000, 8) Me.btnCloseEditMode.Location = New System.Drawing.Point(1132, 6)
Me.btnCloseEditMode.Name = "btnCloseEditMode" Me.btnCloseEditMode.Name = "btnCloseEditMode"
Me.btnCloseEditMode.Size = New System.Drawing.Size(20, 20) Me.btnCloseEditMode.Size = New System.Drawing.Size(20, 20)
Me.btnCloseEditMode.TabIndex = 31 Me.btnCloseEditMode.TabIndex = 31
@@ -180,39 +174,100 @@ Partial Class usrCntlIDSPreise
Me.lblEditMode.AutoSize = True Me.lblEditMode.AutoSize = True
Me.lblEditMode.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblEditMode.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblEditMode.ForeColor = System.Drawing.Color.Red Me.lblEditMode.ForeColor = System.Drawing.Color.Red
Me.lblEditMode.Location = New System.Drawing.Point(551, 13) Me.lblEditMode.Location = New System.Drawing.Point(551, 11)
Me.lblEditMode.Name = "lblEditMode" Me.lblEditMode.Name = "lblEditMode"
Me.lblEditMode.Size = New System.Drawing.Size(64, 13) Me.lblEditMode.Size = New System.Drawing.Size(64, 13)
Me.lblEditMode.TabIndex = 32 Me.lblEditMode.TabIndex = 32
Me.lblEditMode.Text = "Edit Mode" Me.lblEditMode.Text = "Edit Mode"
Me.lblEditMode.Visible = False Me.lblEditMode.Visible = False
' '
'btnKunde
'
Me.btnKunde.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnKunde.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnKunde.ForeColor = System.Drawing.Color.Black
Me.btnKunde.ImageAlign = System.Drawing.ContentAlignment.TopLeft
Me.btnKunde.Location = New System.Drawing.Point(993, 4)
Me.btnKunde.Name = "btnKunde"
Me.btnKunde.Size = New System.Drawing.Size(76, 28)
Me.btnKunde.TabIndex = 33
Me.btnKunde.Tag = ""
Me.btnKunde.Text = "Kunde"
Me.btnKunde.UseVisualStyleBackColor = True
Me.btnKunde.Visible = False
'
'dgvFILTER
'
Me.dgvFILTER.AKTUALISIERUNGS_INTERVALL = -1
Me.dgvFILTER.AllowUserToAddRows = False
Me.dgvFILTER.AllowUserToDeleteRows = False
Me.dgvFILTER.AllowUserToResizeColumns = False
Me.dgvFILTER.AllowUserToResizeRows = False
Me.dgvFILTER.BackgroundColor = System.Drawing.Color.White
Me.dgvFILTER.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.dgvFILTER.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgvFILTER.ColumnHeadersVisible = False
Me.dgvFILTER.Location = New System.Drawing.Point(235, 35)
Me.dgvFILTER.Name = "dgvFILTER"
Me.dgvFILTER.ScrollBars = System.Windows.Forms.ScrollBars.None
Me.dgvFILTER.Size = New System.Drawing.Size(796, 22)
Me.dgvFILTER.TabIndex = 34
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.ForeColor = System.Drawing.Color.Red
Me.Label1.Location = New System.Drawing.Point(64, 15)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(11, 13)
Me.Label1.TabIndex = 35
Me.Label1.Text = "."
'
'btnRW
'
Me.btnRW.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnRW.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnRW.ForeColor = System.Drawing.Color.Black
Me.btnRW.ImageAlign = System.Drawing.ContentAlignment.TopLeft
Me.btnRW.Location = New System.Drawing.Point(911, 4)
Me.btnRW.Name = "btnRW"
Me.btnRW.Size = New System.Drawing.Size(76, 28)
Me.btnRW.TabIndex = 36
Me.btnRW.Tag = ""
Me.btnRW.Text = "RW"
Me.btnRW.UseVisualStyleBackColor = True
Me.btnRW.Visible = False
'
'usrCntlIDSPreise 'usrCntlIDSPreise
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White Me.BackColor = System.Drawing.Color.White
Me.Controls.Add(Me.btnRW)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.dgvFILTER)
Me.Controls.Add(Me.btnKunde)
Me.Controls.Add(Me.lblEditMode) Me.Controls.Add(Me.lblEditMode)
Me.Controls.Add(Me.btnCloseEditMode) Me.Controls.Add(Me.btnCloseEditMode)
Me.Controls.Add(Me.cbxTypes) Me.Controls.Add(Me.cbxTypes)
Me.Controls.Add(Me.dgvIDS) Me.Controls.Add(Me.dgvIDS)
Me.Controls.Add(Me.btnOfferteSpeichern) Me.Controls.Add(Me.btnOfferteSpeichern)
Me.Controls.Add(Me.btnEditIDS) Me.Controls.Add(Me.btnEditIDS)
Me.Controls.Add(Me.Label11)
Me.Controls.Add(Me.lblIDS) Me.Controls.Add(Me.lblIDS)
Me.Controls.Add(Me.dgvOfferteDetails) Me.Controls.Add(Me.dgvOfferteDetails)
Me.Margin = New System.Windows.Forms.Padding(2) Me.Margin = New System.Windows.Forms.Padding(2)
Me.Name = "usrCntlIDSPreise" Me.Name = "usrCntlIDSPreise"
Me.Size = New System.Drawing.Size(1041, 576) Me.Size = New System.Drawing.Size(1173, 576)
CType(Me.dgvOfferteDetails, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.dgvOfferteDetails, System.ComponentModel.ISupportInitialize).EndInit()
Me.cntxtAddSdl.ResumeLayout(False) Me.cntxtAddSdl.ResumeLayout(False)
CType(Me.dgvIDS, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.dgvIDS, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.dgvFILTER, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
End Sub End Sub
Friend WithEvents lblIDS As System.Windows.Forms.TextBox Friend WithEvents lblIDS As System.Windows.Forms.TextBox
Friend WithEvents Label11 As System.Windows.Forms.Label
Friend WithEvents dgvOfferteDetails As System.Windows.Forms.DataGridView Friend WithEvents dgvOfferteDetails As System.Windows.Forms.DataGridView
Friend WithEvents btnEditIDS As VERAG_PROG_ALLGEMEIN.FlatButton Friend WithEvents btnEditIDS As VERAG_PROG_ALLGEMEIN.FlatButton
Friend WithEvents cntxtAddSdl As ContextMenuStrip Friend WithEvents cntxtAddSdl As ContextMenuStrip
@@ -222,4 +277,8 @@ Partial Class usrCntlIDSPreise
Friend WithEvents cbxTypes As VERAG_PROG_ALLGEMEIN.MyComboBox Friend WithEvents cbxTypes As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents btnCloseEditMode As VERAG_PROG_ALLGEMEIN.FlatButton Friend WithEvents btnCloseEditMode As VERAG_PROG_ALLGEMEIN.FlatButton
Friend WithEvents lblEditMode As Label Friend WithEvents lblEditMode As Label
Friend WithEvents btnKunde As Button
Friend WithEvents dgvFILTER As VERAG_PROG_ALLGEMEIN.MyDatagridview
Friend WithEvents Label1 As Label
Friend WithEvents btnRW As Button
End Class End Class

View File

@@ -1,4 +1,8 @@
Imports VERAG_PROG_ALLGEMEIN Imports System.Reflection
Imports System.Threading
Imports System.Web.UI.WebControls.Expressions
Imports com.sun.xml.internal.rngom
Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlIDSPreise Public Class usrCntlIDSPreise
@@ -6,7 +10,7 @@ Public Class usrCntlIDSPreise
Dim SQL As New SQL Dim SQL As New SQL
Public Event IDSChanged() Public Event IDSChanged()
Public kdNr_filter As Boolean = False
Dim IDSDIESEL_Bind As cEasyBinding Dim IDSDIESEL_Bind As cEasyBinding
Dim table Dim table
Public BIND_DB = "FMZOLL" Public BIND_DB = "FMZOLL"
@@ -18,6 +22,9 @@ Public Class usrCntlIDSPreise
Dim loaded = False Dim loaded = False
Dim ofID As Integer Dim ofID As Integer
Dim isVerag360 As Boolean = False Dim isVerag360 As Boolean = False
Dim dgvInitWait As Boolean = False
Dim RW As Double = -1
Dim Kunde As Integer = -1
Sub New() Sub New()
InitializeComponent() InitializeComponent()
@@ -33,58 +40,160 @@ Public Class usrCntlIDSPreise
End Sub End Sub
Sub initfilterColumnsWidth()
If dgvFILTER.ColumnCount > 0 AndAlso dgvFILTER.ColumnCount = dgvOfferteDetails.ColumnCount Then
dgvFILTER.Width = dgvOfferteDetails.Width
For Each c As DataGridViewColumn In dgvOfferteDetails.Columns
dgvFILTER.Columns(c.Index).Width = c.Width
Next
If kdNr_filter Then
Select Case cbxTypes._value
Case "LSK", "LK" : initKDFilter()
End Select
Sub initDGVDieselpreiseDetails(Optional OutletCountryCode As Integer = -1) End If
End If
End Sub
Sub initFilter()
dgvInitWait = True
dgvFILTER.RowTemplate.Height = dgvFILTER.Height
'If Not fullyPainted Then Exit Sub ' nur wenn die usrcntl komplett gelden wurde...
'pnlFilter.Controls.Clear()
Try
dgvFILTER.Columns.Clear()
Catch ex As Exception
End Try
Dim sortedCols = dgvOfferteDetails.Columns.Cast(Of DataGridViewColumn)() _
.OrderBy(Function(c) c.DisplayIndex)
For Each c As DataGridViewColumn In sortedCols
If c.Visible Then
Dim cNew As DataGridViewColumn = c.Clone
If c.ReadOnly And c.Name = "CustomerCode" Then
cNew = New DataGridViewTextBoxColumn
cNew.Name = c.Name
cNew.Width = c.Width
cNew.Visible = c.Visible
'KundenNr
End If
cNew.MinimumWidth = c.Width
dgvFILTER.Columns.Add(cNew)
'cNew.DisplayIndex = counter
If cNew.GetType Is GetType(DataGridViewCheckBoxColumn) Then
DirectCast(cNew, DataGridViewCheckBoxColumn).ThreeState = True
DirectCast(cNew, DataGridViewCheckBoxColumn).DefaultCellStyle.NullValue = CheckState.Indeterminate
End If
End If
Next
If dgvFILTER IsNot Nothing AndAlso dgvFILTER.ColumnCount > 0 Then
'dgv.AllowUserToAddRows = False
dgvFILTER.Rows.Add()
' pnlTest.Controls.Add(dgv)
' dgv.Top = 0
' dgv.Left = 0
dgvFILTER.Width = dgvOfferteDetails.Width
If kdNr_filter Then
initKDFilter()
End If
End If
dgvInitWait = False
End Sub
Sub initDGVDieselpreiseDetails(Optional OutletCountryCode As Integer = -1, Optional doFilter As Boolean = False)
loaded = False loaded = False
Try Try
If cbxTypes._value = "" Then Exit Sub
With dgvOfferteDetails With dgvOfferteDetails
Dim SQL_ = "" Dim SQL_ = ""
Dim SQL_WHERE = ""
If doFilter Then
Dim filter As String = getFilter()
If filter <> "" Then
SQL_WHERE &= " AND " & filter
End If
' sql &= " ORDER BY sdl.[Erfassungsdatum] ASC"
Else
' clearFilter()
End If
Select Case cbxTypes._value Select Case cbxTypes._value
Case "L" Case "L"
SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter, tbl_IDS_Rechenwerte.SSMA_TimeStamp, tbl_IDS_Rechenwerte.KategorieNr SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter, tbl_IDS_Rechenwerte.KategorieNr
FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN tbl_IDS_Rechenwerte ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN tbl_IDS_Rechenwerte ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode, "") & " ) WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode, "") & " ) " & SQL_WHERE & "
ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;" ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
Case "LS" Case "LS"
SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter, tbl_IDS_Rechenwerte.SSMA_TimeStamp, tbl_IDS_Rechenwerte.KategorieNr SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter, tbl_IDS_Rechenwerte.KategorieNr
FROM tbl_IDS_Produkte FROM tbl_IDS_Produkte
INNER JOIN (tbl_IDS_Länder INNER JOIN (tbl_IDS_Länder
INNER JOIN (tbl_IDS_Stationen INNER JOIN (tbl_IDS_Stationen
INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode)
ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode, "") & " ) WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode, "") & " ) " & SQL_WHERE & "
ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;" ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
Case "KRW" Case "KRW"
SQL_ = "SELECT tbl_IDS_Kategorien_Rechenwerte.ID as ID, tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Kategorien_Rechenwerte.Rechenwert, tbl_IDS_Kategorien_Rechenwerte.Zeitstempel, tbl_IDS_Kategorien_Rechenwerte.Sachbearbeiter, tbl_IDS_Kategorien_Rechenwerte.SSMA_TimeStamp SQL_ = "SELECT tbl_IDS_Kategorien_Rechenwerte.ID as ID, tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Kategorien_Rechenwerte.Rechenwert, tbl_IDS_Kategorien_Rechenwerte.Zeitstempel, tbl_IDS_Kategorien_Rechenwerte.Sachbearbeiter
FROM tbl_IDS_Produkte INNER JOIN tbl_IDS_Kategorien_Rechenwerte ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode FROM tbl_IDS_Produkte INNER JOIN tbl_IDS_Kategorien_Rechenwerte ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode
WHERE 1 = 1 " & SQL_WHERE & "
ORDER BY tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode;" ORDER BY tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode;"
Case "LK" Case "LK"
SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, Adressen.Ordnungsbegriff AS CustomerName, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter, tbl_IDS_Rechenwerte.SSMA_TimeStamp, tbl_IDS_Rechenwerte.KategorieNr SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, Adressen.Ordnungsbegriff AS CustomerName, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter, tbl_IDS_Rechenwerte.KategorieNr
FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN tbl_IDS_Rechenwerte ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN tbl_IDS_Rechenwerte ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
WHERE (((tbl_IDS_Rechenwerte.CustomerCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.OutletCode) Is Null) " & IIf(OutletCountryCode > 0, " WHERE tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode, "") & " ) WHERE (((tbl_IDS_Rechenwerte.CustomerCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.OutletCode) Is Null) " & IIf(OutletCountryCode > 0, " WHERE tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode, "") & " ) " & SQL_WHERE & "
ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, Adressen.Ordnungsbegriff, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;" ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, Adressen.Ordnungsbegriff, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
Case "LSK" Case "LSK"
SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, Adressen.Ordnungsbegriff AS CustomerName, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter, tbl_IDS_Rechenwerte.SSMA_TimeStamp, tbl_IDS_Rechenwerte.KategorieNr SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, Adressen.Ordnungsbegriff AS CustomerName, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter, tbl_IDS_Rechenwerte.KategorieNr
FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN (tbl_IDS_Stationen INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN (tbl_IDS_Stationen INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode
WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Not Null) " & IIf(OutletCountryCode > 0, " WHERE tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode, "") & " ) WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Not Null) " & IIf(OutletCountryCode > 0, " WHERE tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode, "") & " ) " & SQL_WHERE & "
ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, Adressen.Ordnungsbegriff, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;" ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, Adressen.Ordnungsbegriff, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;"
Case "KOR" Case "KOR"
SQL_ = "SELECT tbl_IDS_Kunden_ohne_Rabatt.CustomerCode, tbl_IDS_Kunden_ohne_Rabatt.Zeitstempel, tbl_IDS_Kunden_ohne_Rabatt.Sachbearbeiter SQL_ = "SELECT tbl_IDS_Kunden_ohne_Rabatt.CustomerCode, tbl_IDS_Kunden_ohne_Rabatt.Zeitstempel, tbl_IDS_Kunden_ohne_Rabatt.Sachbearbeiter
FROM tbl_IDS_Kunden_ohne_Rabatt FROM tbl_IDS_Kunden_ohne_Rabatt
WHERE 1 = 1 " & SQL_WHERE & "
ORDER BY tbl_IDS_Kunden_ohne_Rabatt.CustomerCode;" ORDER BY tbl_IDS_Kunden_ohne_Rabatt.CustomerCode;"
End Select End Select
Label1.Text = cbxTypes._value
Select Case cbxTypes._value
Case "LK", "LKS" 'If kdNr_filter Then SQL_ &= " AND KundenNr=" & kdNr
End Select
If SQL_ = "" Then Exit Sub If SQL_ = "" Then Exit Sub
Try Try
@@ -112,55 +221,14 @@ Public Class usrCntlIDSPreise
'FUNC.dgvCellToCbo(dgvOfferteDetails, 2, "Kz", "Kz", " SELECT [BerechnungsartNr], CAST(BerechnungsartNr as varchar(3)) + ' - ' + [BerechnungsartBez] as [BerechnungsartBez] FROM [Berechnungsart] ORDER BY BerechnungsartNr ", "FMZOLL", 150) 'FUNC.dgvCellToCbo(dgvOfferteDetails, 2, "Kz", "Kz", " SELECT [BerechnungsartNr], CAST(BerechnungsartNr as varchar(3)) + ' - ' + [BerechnungsartBez] as [BerechnungsartBez] FROM [Berechnungsart] ORDER BY BerechnungsartNr ", "FMZOLL", 150)
'FUNC.dgvCellToCbo(dgvOfferteDetails, 5, "BGebLeist.", "BGebLeistungsNr", " SELECT [LeistungsNr], CAST(LeistungsNr as varchar(3)) + ' - ' + [LeistungsBez] as LeistungsBez FROM [Leistungen] ORDER BY [LeistungsNr] ", "FMZOLL", 250) 'FUNC.dgvCellToCbo(dgvOfferteDetails, 5, "BGebLeist.", "BGebLeistungsNr", " SELECT [LeistungsNr], CAST(LeistungsNr as varchar(3)) + ' - ' + [LeistungsBez] as LeistungsBez FROM [Leistungen] ORDER BY [LeistungsNr] ", "FMZOLL", 250)
'checkPerimissionsDGVDetails()
If .Columns.Contains("ID") Then .Columns("ID").Visible = False If .Columns.Contains("ID") Then .Columns("ID").Visible = False
'.Columns("KundenNr").Visible = False
'.Columns("LeistungsNr").Width = 30
'.Columns("LeistungsNr").HeaderText = "Nr"
'.Columns("LeistungsBez").MinimumWidth = 200
'.Columns("LeistungsBez").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'.Columns("LeistungsBez").HeaderText = "Leistung"
'.Columns("BerechnungsartNr").MinimumWidth = 150
'.Columns("Preis").Width = 60
'.Columns("Preis").DefaultCellStyle.Format = "N2"
'.Columns("Preis").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
'.Columns("Anzahl").Width = 50
'.Columns("Anzahl").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("BerechnungsartPosInkludiert").HeaderText = "Pos.inkl."
'.Columns("BerechnungsartPosInkludiert").Width = 45
'.Columns("BGebLeistungsNr").Width = 60
'.Columns("BGebProzent").Width = 55
'.Columns("BGebProzent").HeaderText = "BGeb %"
'.Columns("BGebProzent").DefaultCellStyle.Format = "P"
'.Columns("BGebProzent").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
'.Columns("BGebMinBetrag").Width = 60
'.Columns("BGebMinBetrag").HeaderText = "BGebMinBetr."
'.Columns("BGebMinBetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
'.Columns("Eingegeben am").Visible = False
'' .Columns("Sachbearbeiter").Visible = False
'' .Columns("Geändert am").Visible = False
'.Columns("PreisänderungProzent").Width = 70
'.Columns("PreisänderungProzent").HeaderText = "Preisänd. %"
'.Columns("PreisänderungProzent").DefaultCellStyle.Format = "p"
'.Columns("PreisänderungProzent").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
'.Columns("PreisAlt").Width = 60
'.Columns("PreisAlt").DefaultCellStyle.Format = "N2"
'.Columns("PreisAlt").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
'.Columns("Preisänderung").Width = 60
'.Columns("Preisänderung").HeaderText = "PreisNeu"
'.Columns("Preisänderung").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
'' .Columns("OffertenBez").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'' .Columns("OffertenBez").HeaderText = "Bezeichnung"
'.Columns("PreisänderungProzent").Visible = False
'.Columns("PreisAlt").Visible = False
'.Columns("Preisänderung").Visible = False
loaded = True loaded = True
End With End With
If Not doFilter Then
initFilter()
End If
DGVHasChaged = False DGVHasChaged = False
Catch ex As Exception Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
@@ -168,6 +236,88 @@ Public Class usrCntlIDSPreise
End Sub End Sub
Function getSqlText(t) As String
Try
Return t.Replace("'", "")
Catch ex As Exception
Return ""
End Try
End Function
Function getFilter() As String
Dim filter As String = ""
Dim andstr As String = ""
'fehler bei:
'OutletCountryCode
If dgvFILTER.RowCount > 0 Then
For Each c As DataGridViewCell In dgvFILTER.Rows(0).Cells
If c.Value IsNot DBNull.Value Then
If c.GetType Is GetType(DataGridViewTextBoxCell) Then
If c.Value IsNot Nothing AndAlso c.Value <> "" Then
Dim srchstr = getSqlText(c.Value.ToString.Trim)
'MsgBox(c.OwningColumn.DataPropertyName)
If c.OwningColumn.Name.Contains("ProductTypeCode") Then
filter &= andstr & " tbl_IDS_Rechenwerte.[" & c.OwningColumn.Name & "] = '" & srchstr & "' "
ElseIf c.OwningColumn.Name.Contains("OutletCountryCode") Then
filter &= andstr & " tbl_IDS_Rechenwerte.[" & c.OwningColumn.Name & "] = '" & srchstr & "' "
ElseIf c.OwningColumn.Name.Contains("OutletCode") Then
filter &= andstr & " tbl_IDS_Rechenwerte.[" & c.OwningColumn.Name & "] = '" & srchstr & "' "
ElseIf c.OwningColumn.Name.Contains("CustomerCode") Then
filter &= andstr & " tbl_IDS_Rechenwerte.[" & c.OwningColumn.Name & "] = '" & srchstr & "' "
ElseIf IsNumeric(srchstr) Then
If srchstr.ToLower = "ist null" Then
filter &= andstr & "( [" & c.OwningColumn.Name & "] LIKE '' OR [" & c.OwningColumn.Name & "] is null ) "
Else
filter &= andstr & " [" & c.OwningColumn.Name & "] = " & srchstr.Replace(",", ".") & ""
End If
ElseIf IsDate(srchstr) Then
If srchstr.ToLower = "ist null" Then
filter &= andstr & "( [" & c.OwningColumn.Name & "] is null ) "
Else
filter &= andstr & " convert(varchar,[" & c.OwningColumn.Name & "] ,104) LIKE '%" & srchstr & "%' "
End If
Else
If srchstr.ToLower = "ist null" Then
filter &= andstr & "( [" & c.OwningColumn.Name & "] LIKE '' OR [" & c.OwningColumn.Name & "] is null ) "
Else
filter &= andstr & " [" & c.OwningColumn.Name & "] LIKE '%" & srchstr & "%' "
End If
End If
andstr = " AND "
End If
ElseIf c.GetType Is GetType(DataGridViewCheckBoxCell) Then
If c.Value IsNot Nothing AndAlso c.Value.ToString <> "" Then
If c.Value = CheckState.Checked Then
filter &= andstr & " [" & c.OwningColumn.Name & "] =1 "
andstr = " AND "
ElseIf c.Value = CheckState.Unchecked Then
filter &= andstr & " [" & c.OwningColumn.Name & "] =0 "
andstr = " AND "
End If
End If
End If
End If
Next
End If
Return filter
End Function
Private Sub dgvIDS_SelectionChanged(sender As Object, e As EventArgs) Handles dgvIDS.SelectionChanged Private Sub dgvIDS_SelectionChanged(sender As Object, e As EventArgs) Handles dgvIDS.SelectionChanged
@@ -175,18 +325,44 @@ Public Class usrCntlIDSPreise
If dgvIDS.SelectedCells.Count > 0 Then If dgvIDS.SelectedCells.Count > 0 Then
If dgvIDS.SelectedCells(0).RowIndex > -1 Then If dgvIDS.SelectedCells(0).RowIndex > -1 AndAlso dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value > 0 Then
initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value) initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value)
Else
initDGVDieselpreiseDetails()
End If End If
End If End If
End Sub End Sub
Public Shared Sub EnableDoubleBuffered(ByRef dgv As DataGridView)
Dim dgvType As Type = dgv.[GetType]()
Dim pi As PropertyInfo = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance Or BindingFlags.NonPublic)
pi.SetValue(dgv, True, Nothing)
End Sub
Sub initKDFilter()
dgvIDS.Columns("CustomerCode").ReadOnly = True
dgvIDS.Columns("CustomerCode").Visible = False
Try
dgvFILTER.Columns("CustomerCode").ReadOnly = True
dgvFILTER.Columns("CustomerCode").Visible = False
'DirectCast(pnlFilterInside.Controls("txtSrch_KundenNr"), TextBox).Text = kdNr
'DirectCast(pnlFilterInside.Controls("txtSrch_KundenNr"), TextBox).Enabled = False
' DirectCast(pnlFilterInside.Controls("txtSrch_KundenNr"), TextBox).ReadOnly = True
' initSearch(pnlFilterInside.Controls("txtSrch_KundenNr"), New EventArgs)
Catch ex As Exception
' MsgBox(ex.Message)
End Try
End Sub
Private Sub usrCntlOfferte_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub usrCntlOfferte_Load(sender As Object, e As EventArgs) Handles MyBase.Load
init(isVerag360) init(isVerag360)
cbxTypes.Items.Clear() cbxTypes.Items.Clear()
@@ -199,19 +375,35 @@ Public Class usrCntlIDSPreise
checkPermissions() checkPermissions()
Dim SQL_ As String = "" Dim SQL_ As String = ""
SQL_ = "SELECT OutletCountry, OutletCountryCode FROM [VERAG].[dbo].[tbl_IDS_Länder] ORDER BY OutletCountry" SQL_ = "SELECT OutletCountry, OutletCountryCode FROM [VERAG].[dbo].[tbl_IDS_Länder] ORDER BY OutletCountry"
Dim dt As New DataTable
dt = SQL.loadDgvBySql(SQL_, "FMZOLL")
If dt.Rows.Count > 0 Then
Dim newRow As DataRow = dt.NewRow()
newRow("OutletCountry") = "Alle"
newRow("OutletCountryCode") = -1
dt.Rows.InsertAt(newRow, 0)
dt.AcceptChanges()
End If
With dgvIDS With dgvIDS
.DataSource = SQL.loadDgvBySql(SQL_, "FMZOLL") .DataSource = dt
.Columns("OutletCountry").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("OutletCountry").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("OutletCountry").HeaderText = "Bezeichnung" .Columns("OutletCountry").HeaderText = "Bezeichnung"
.Columns("OutletCountryCode").Visible = False .Columns("OutletCountryCode").Visible = False
End With End With
'EnableDoubleBuffered(dgvOfferteDetails)
dgvOfferteDetails.Columns.Clear() dgvOfferteDetails.Columns.Clear()
dgvIDS.ClearSelection() dgvIDS.ClearSelection()
initDGVDieselpreiseDetails() initDGVDieselpreiseDetails()
'initFilter()
initDGVWidth()
'AddHandler OFFERTEBind.bindingdataTable.ColumnChanged, Sub(ev As EventArgs, change As DataColumnChangeEventArgs) 'AddHandler OFFERTEBind.bindingdataTable.ColumnChanged, Sub(ev As EventArgs, change As DataColumnChangeEventArgs)
@@ -224,6 +416,20 @@ Public Class usrCntlIDSPreise
End Sub End Sub
Sub initDGVWidth()
Dim DGVwidth = 0
Dim reduceWidth = 0
For Each c As DataGridViewColumn In dgvOfferteDetails.Columns
DGVwidth += c.Width
Next
Dim DGVheight = 0
For Each r As DataGridViewRow In dgvOfferteDetails.Rows
DGVheight += r.Height
Next
DGVheight += 50
'
End Sub
Private Sub AddOffert_Click(sender As Object, e As EventArgs) Handles DToolStripMenuItem.Click Private Sub AddOffert_Click(sender As Object, e As EventArgs) Handles DToolStripMenuItem.Click
@@ -257,7 +463,7 @@ Public Class usrCntlIDSPreise
If dgvIDS.SelectedCells.Count > 0 Then If dgvIDS.SelectedCells.Count > 0 Then
If dgvIDS.SelectedCells(0).RowIndex > -1 Then If dgvIDS.SelectedCells(0).RowIndex > -1 AndAlso dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value > 0 Then
initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value) initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value)
End If End If
@@ -267,7 +473,6 @@ Public Class usrCntlIDSPreise
End If End If
End If End If
End If End If
End If End If
@@ -294,14 +499,14 @@ Public Class usrCntlIDSPreise
End Sub End Sub
Private Sub cbxArchivierteOffertenAnzeigen_CheckedChanged(sender As Object, e As EventArgs) 'Private Sub cbxArchivierteOffertenAnzeigen_CheckedChanged(sender As Object, e As EventArgs)
If dgvIDS.SelectedRows.Count = 0 Then Exit Sub ' If dgvIDS.SelectedRows.Count = 0 Then Exit Sub
initDGVDieselpreiseDetails(dgvIDS.SelectedRows(0).Cells("OffertenNr").Value) ' initDGVDieselpreiseDetails(dgvIDS.SelectedRows(0).Cells("OffertenNr").Value)
End Sub 'End Sub
Private Sub checkPerimissionsDGVDetails() Private Sub checkPerimissionsDGVDetails()
@@ -448,6 +653,9 @@ Public Class usrCntlIDSPreise
initDGVDieselpreiseDetails() initDGVDieselpreiseDetails()
End If End If
'initFilter()
initDGVWidth()
End Sub End Sub
@@ -490,5 +698,195 @@ Public Class usrCntlIDSPreise
End If End If
End Sub
Private Sub btnKunde_Click(sender As Object, e As EventArgs) Handles btnKunde.Click
'1. Check ob der neue Kunde noch keine Einträge hat! -> ja -> abbrechen
'2. Check ob der Quellkunde Einträge besitzt! -> nein -> abbrechen
'3. alle Einträge durchlaufen und insert_into
If dgvOfferteDetails.Rows.Count > 0 Then
Dim newRWKunde As Integer = 0
Dim s = InputBox("Bitte die neuen IDS-KundenNr eingeben:", "KundenNr")
If Not IsNumeric(s) Then
Exit Sub
Else
newRWKunde = s
Dim adresse As New cAdressen(s)
If Not adresse.hasEntry Then
MsgBox("Der Kunde ist nicht in der Datenbank angelegt!" & vbNewLine & "Vorgang wird abgebrochen!")
Exit Sub
End If
End If
Dim count As Integer = 0
Dim countString As String = SQL.getValueTxtBySql("select count(*) from tbl_IDS_Rechenwerte where CustomerCode =" & newRWKunde, "FMZOLL")
If countString <> "" Then
count = CInt(countString)
End If
If newRWKunde > 0 Then
If count > 0 Then
MsgBox("Es gibt bereits Rechnenwerte für die IDS-KundenNr " & newRWKunde & "!" & vbNewLine & "Vorgang wird abgebrochen!")
Exit Sub
End If
If vbYes = MsgBox("Möchten Sie die Rechenwerte von Kunden " & Kunde & " übernehmen?" & vbNewLine & "Es werden alle verfügbaren Rechenwerte auf den neuen Kunden kopiert!", vbYesNoCancel) Then
Dim counter As Integer = 0
'do-it
Dim dt As New DataTable
dt = SQL.loadDgvBySql("SELECT [OutletCountryCode],[OutletCode],[CustomerCode],[ProductTypeCode],[Rechenwert],[Kz],[Zeitstempel],[Sachbearbeiter],[KategorieNr] FROM tbl_IDS_Rechenwerte where CustomerCode =" & Kunde, "FMZOLL")
If dt IsNot Nothing Then
For Each r In dt.Rows
If SQL.doSQL("INSERT INTO [tbl_IDS_Rechenwerte] ([OutletCountryCode],[OutletCode],[CustomerCode],[ProductTypeCode],[Rechenwert],[Kz],[Zeitstempel],[Sachbearbeiter],[KategorieNr])
VALUES ('" & r(0) & "','" & r(1) & "','" & newRWKunde & "','" & r(3) & "','" & r(4) & "','" & r(5) & "','" & Now() & "','" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME & "','" & r(8) & "')", "FMZOLL") Then counter += 1
Next
info(counter & " Datensätze wurden angelegt!")
End If
End If
End If
End If
End Sub
Private Sub dgvOfferteDetails_ColumnWidthChanged(sender As Object, e As DataGridViewColumnEventArgs) Handles dgvOfferteDetails.ColumnWidthChanged
initfilterColumnsWidth()
End Sub
Private Sub dgvFILTER_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgvFILTER.CellValueChanged
If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
Dim dgv As DataGridView = CType(sender, DataGridView)
' Spaltenname
Dim colName As String = dgv.Columns(e.ColumnIndex).Name
' Neuer Wert (Nothing prüfen, falls leer)
Dim newValue As Object = dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
If colName = "CustomerCode" AndAlso IsNumeric(newValue) Then
Kunde = newValue
btnKunde.Visible = True
Else
btnKunde.Visible = False
End If
If colName = "Rechenwert" AndAlso IsNumeric(newValue) Then
RW = newValue
btnRW.Visible = True
Else
btnRW.Visible = False
End If
End If
If dgvIDS.SelectedCells.Count > 0 Then
If dgvIDS.SelectedCells(0).RowIndex > -1 AndAlso dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value > 0 Then
initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value, True)
Else
initDGVDieselpreiseDetails(, True)
End If
Else
initDGVDieselpreiseDetails(, True)
End If
initfilterColumnsWidth()
End Sub
Private Sub dgvFILTER_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvFILTER.CellContentClick
If dgvFILTER.Columns(e.ColumnIndex).GetType Is GetType(DataGridViewCheckBoxColumn) Then
dgvIDS.Focus()
End If
End Sub
Private Sub dgvFILTER_SelectionChanged(sender As Object, e As EventArgs) Handles dgvFILTER.SelectionChanged
dgvFILTER.ClearSelection()
End Sub
Private Sub btnRW_Click(sender As Object, e As EventArgs) Handles btnRW.Click
If dgvOfferteDetails.Rows.Count > 0 Then
Dim newRW As Double = 0
Dim s = InputBox("Bitte den neuen RW eingeben:", "Rechenwert")
If IsNumeric(s) Then
newRW = s
Else
Exit Sub
End If
If vbYes = MsgBox("Möchten Sie den Rechenwert von " & RW & " auf " & s & " setzen?", vbYesNoCancel) Then
Dim counter As Integer = 0
For Each r As DataGridViewRow In dgvOfferteDetails.Rows
If r.Cells("ID").Value IsNot Nothing AndAlso IsNumeric(r.Cells("ID").Value) Then
Dim curDP = New VERAG_PROG_ALLGEMEIN.cIDSDieselpreisRW(r.Cells("ID").Value)
curDP.Rechenwert = s.Replace(",", ".")
curDP.Zeitstempel = Now()
curDP.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
If curDP.SAVE() Then counter += 1
End If
Next
If dgvIDS.SelectedCells.Count > 0 Then
If dgvIDS.SelectedCells(0).RowIndex > -1 AndAlso dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value > 0 Then
initDGVDieselpreiseDetails(dgvIDS.Rows(dgvIDS.SelectedCells(0).RowIndex).Cells("OutletCountryCode").Value, True)
Else
initDGVDieselpreiseDetails(, True)
End If
Else
initDGVDieselpreiseDetails(, True)
End If
info(counter & " Datensätze wurden aktualisiert!")
End If
End If
End Sub
Private Sub info(text As String)
If text <> "" Then
Label1.Text = text
Thread.Sleep(4000)
Label1.Text = ""
End If
End Sub End Sub
End Class End Class