diff --git a/SDL/kunden/usrCntlIDSPreise.Designer.vb b/SDL/kunden/usrCntlIDSPreise.Designer.vb index a12e1856..067113d4 100644 --- a/SDL/kunden/usrCntlIDSPreise.Designer.vb +++ b/SDL/kunden/usrCntlIDSPreise.Designer.vb @@ -23,9 +23,8 @@ Partial Class usrCntlIDSPreise Private Sub InitializeComponent() 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.Label11 = New System.Windows.Forms.Label() Me.dgvOfferteDetails = New System.Windows.Forms.DataGridView() Me.cntxtAddSdl = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.DToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() @@ -35,9 +34,14 @@ Partial Class usrCntlIDSPreise Me.cbxTypes = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.btnCloseEditMode = New VERAG_PROG_ALLGEMEIN.FlatButton() 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() Me.cntxtAddSdl.SuspendLayout() CType(Me.dgvIDS, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.dgvFILTER, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'lblIDS @@ -53,35 +57,25 @@ Partial Class usrCntlIDSPreise Me.lblIDS.TabIndex = 0 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 ' Me.dgvOfferteDetails.AllowUserToAddRows = False Me.dgvOfferteDetails.AllowUserToDeleteRows = False Me.dgvOfferteDetails.AllowUserToOrderColumns = True 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)) - Me.dgvOfferteDetails.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle1 + DataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.dgvOfferteDetails.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle2 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.Right), System.Windows.Forms.AnchorStyles) Me.dgvOfferteDetails.BackgroundColor = System.Drawing.Color.White 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.Name = "dgvOfferteDetails" Me.dgvOfferteDetails.RowHeadersVisible = False 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 ' 'cntxtAddSdl @@ -103,7 +97,7 @@ Partial Class usrCntlIDSPreise Me.btnOfferteSpeichern.ForeColor = System.Drawing.Color.Black Me.btnOfferteSpeichern.Image = Global.SDL.My.Resources.Resources.save 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.Size = New System.Drawing.Size(132, 36) Me.btnOfferteSpeichern.TabIndex = 15 @@ -121,7 +115,7 @@ Partial Class usrCntlIDSPreise Me.btnEditIDS.FlatAppearance.BorderSize = 0 Me.btnEditIDS.FlatStyle = System.Windows.Forms.FlatStyle.Flat 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.Size = New System.Drawing.Size(20, 20) Me.btnEditIDS.TabIndex = 1 @@ -168,7 +162,7 @@ Partial Class usrCntlIDSPreise Me.btnCloseEditMode.FlatAppearance.BorderSize = 0 Me.btnCloseEditMode.FlatStyle = System.Windows.Forms.FlatStyle.Flat 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.Size = New System.Drawing.Size(20, 20) Me.btnCloseEditMode.TabIndex = 31 @@ -180,39 +174,100 @@ Partial Class usrCntlIDSPreise 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.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.Size = New System.Drawing.Size(64, 13) Me.lblEditMode.TabIndex = 32 Me.lblEditMode.Text = "Edit Mode" 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 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 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.btnCloseEditMode) Me.Controls.Add(Me.cbxTypes) Me.Controls.Add(Me.dgvIDS) Me.Controls.Add(Me.btnOfferteSpeichern) Me.Controls.Add(Me.btnEditIDS) - Me.Controls.Add(Me.Label11) Me.Controls.Add(Me.lblIDS) Me.Controls.Add(Me.dgvOfferteDetails) Me.Margin = New System.Windows.Forms.Padding(2) 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() Me.cntxtAddSdl.ResumeLayout(False) CType(Me.dgvIDS, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.dgvFILTER, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() End Sub 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 btnEditIDS As VERAG_PROG_ALLGEMEIN.FlatButton Friend WithEvents cntxtAddSdl As ContextMenuStrip @@ -222,4 +277,8 @@ Partial Class usrCntlIDSPreise Friend WithEvents cbxTypes As VERAG_PROG_ALLGEMEIN.MyComboBox Friend WithEvents btnCloseEditMode As VERAG_PROG_ALLGEMEIN.FlatButton 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 diff --git a/SDL/kunden/usrCntlIDSPreise.vb b/SDL/kunden/usrCntlIDSPreise.vb index e62c1d5e..78d99bbf 100644 --- a/SDL/kunden/usrCntlIDSPreise.vb +++ b/SDL/kunden/usrCntlIDSPreise.vb @@ -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 @@ -6,7 +10,7 @@ Public Class usrCntlIDSPreise Dim SQL As New SQL Public Event IDSChanged() - + Public kdNr_filter As Boolean = False Dim IDSDIESEL_Bind As cEasyBinding Dim table Public BIND_DB = "FMZOLL" @@ -18,6 +22,9 @@ Public Class usrCntlIDSPreise Dim loaded = False Dim ofID As Integer Dim isVerag360 As Boolean = False + Dim dgvInitWait As Boolean = False + Dim RW As Double = -1 + Dim Kunde As Integer = -1 Sub New() InitializeComponent() @@ -33,58 +40,160 @@ Public Class usrCntlIDSPreise 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 Try + If cbxTypes._value = "" Then Exit Sub + With dgvOfferteDetails 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 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 - 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;" 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 INNER JOIN (tbl_IDS_Länder 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) 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;" 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 + WHERE 1 = 1 " & SQL_WHERE & " ORDER BY tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode;" 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 - 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;" 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 - 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;" Case "KOR" 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 + WHERE 1 = 1 " & SQL_WHERE & " ORDER BY tbl_IDS_Kunden_ohne_Rabatt.CustomerCode;" 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 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, 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 - '.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 End With + If Not doFilter Then + initFilter() + End If + DGVHasChaged = False Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) @@ -168,6 +236,88 @@ Public Class usrCntlIDSPreise 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 @@ -175,18 +325,44 @@ Public Class usrCntlIDSPreise 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) + Else + initDGVDieselpreiseDetails() End If End If 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 + init(isVerag360) cbxTypes.Items.Clear() @@ -199,19 +375,35 @@ Public Class usrCntlIDSPreise checkPermissions() + Dim SQL_ As String = "" 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 - .DataSource = SQL.loadDgvBySql(SQL_, "FMZOLL") + .DataSource = dt .Columns("OutletCountry").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("OutletCountry").HeaderText = "Bezeichnung" .Columns("OutletCountryCode").Visible = False End With - + 'EnableDoubleBuffered(dgvOfferteDetails) dgvOfferteDetails.Columns.Clear() dgvIDS.ClearSelection() initDGVDieselpreiseDetails() + 'initFilter() + initDGVWidth() + 'AddHandler OFFERTEBind.bindingdataTable.ColumnChanged, Sub(ev As EventArgs, change As DataColumnChangeEventArgs) @@ -224,6 +416,20 @@ Public Class usrCntlIDSPreise 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 @@ -257,7 +463,7 @@ Public Class usrCntlIDSPreise 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) End If @@ -267,9 +473,8 @@ Public Class usrCntlIDSPreise End If End If - - End If End If + End If End Select @@ -294,14 +499,14 @@ Public Class usrCntlIDSPreise 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() @@ -448,6 +653,9 @@ Public Class usrCntlIDSPreise initDGVDieselpreiseDetails() End If + 'initFilter() + initDGVWidth() + End Sub @@ -490,5 +698,195 @@ Public Class usrCntlIDSPreise 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 Class