| |

ADO.NET / DatenbankenRe: Von DGV1 Ungebundene Spalte Menge von DGV2 Gebundene Spalte Menge abziehen | |  | Autor: andi-aston-martin | Datum: 09.08.24 21:57 |
| Hi Markus,
es kommen Fehler wie "Objektverweis wurde nicht Deklariert usw. .
Habe mal eine Neue Anwendung erstellt zum besseren Verständnis ohne suche über ein bestimmtes Teil nur zu Testzecken.
In TeileDataGridview wird mir die gesamte Datenbank der Teile angezeigt mit den Spalten:
OSPNR, ASTONNR, GLAGER, ARTIKEL_BEZEICHNUNG, DATUM, LIEF1, ANZAHL, EKIST...
Ich Markiere eine Zeile in TeileDatagridview und füge sie zu Datagridview1 hinzu usw. bis alle vorhanden sind.
In DataGridview1 habe ich die Spalten:
ASTONNR, ANZAHL, ARTIKEL_BEZEICHNUNG, E_PREIS, SUMME
Speichere Datagridview1 mit den Teilen in eine .csv
Hier mal der Code der neuen Anwendung zu Testzwecken die ich erstellt habe:
Public Class Form1
Private Sub TEILEBindingNavigatorSaveItem_Click(sender As Object, e As _
EventArgs) Handles TEILEBindingNavigatorSaveItem.Click
Me.Validate()
Me.TEILEBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.TeileDataSet)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: Diese Codezeile lädt Daten in die Tabelle "TeileDataSet.TEILE".
' Sie können sie bei Bedarf verschieben oder entfernen.
Me.TEILETableAdapter.Fill(Me.TeileDataSet.TEILE)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
Button1.Click
'In Datagridview1 gesammelte Teile in .csv Speichern
SaveFileDialog1.FileName = TextBox1.Text
SaveFileDialog1.Filter = "CSV Files (*.csv*)|*.csv"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
' The DataGridView1.ClipboardCopyMode line ensures that the data
' stays in the correct column and row for saving without headers
DataGridView1.ClipboardCopyMode = _
DataGridViewClipboardCopyMode.EnableWithoutHeaderText
DataGridView1.SelectAll()
Try
IO.File.WriteAllText(SaveFileDialog1.FileName, _
DataGridView1.GetClipboardContent().GetText( _
TextDataFormat.CommaSeparatedValue))
Catch ex As Exception
MessageBox.Show("This file is open in another application." & _
"Either change the filename or close the application using" & _
"the file you're trying to update.")
End Try
DataGridView1.ClearSelection()
DataGridView1.Rows.Clear()
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles _
Button2.Click
' csv Datei über gespeicherte Teile wieder in Datagridview1 Laden zu
' Rechnugserstellung
OpenFileDialog1.Filter = "CSV Files (*.csv*)|*.csv"
OpenFileDialog1.FileName = "*.*"
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
DataGridView1.Rows.Clear()
Dim TextFieldParser1 As New _
Microsoft.VisualBasic.FileIO.TextFieldParser( _
OpenFileDialog1.FileName)
TextFieldParser1.Delimiters = New String() {","}
While Not TextFieldParser1.EndOfData
Dim Row1 As String() = TextFieldParser1.ReadFields()
If DataGridView1.Columns.Count = 0 AndAlso Row1.Count > 0 Then
Dim i As Integer
For i = 0 To Row1.Count - 1
DataGridView1.Columns.Add("Column" & i + 1, "Column" & _
i + 1)
Next
End If
DataGridView1.Rows.Add(Row1)
End While
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles _
Button3.Click
'Ausgewählte Zeilen aus TeileDataGridview nach Datagridview1 Kopieren
DataGridView1.ColumnCount = 5 'Anzahl Spalten
For Each dgvRow In TEILEDataGridView.SelectedRows
Dim row3() As String = {dgvRow.Cells(1).Value.ToString(), _
dgvRow.Cells(8).Value.ToString(), dgvRow.Cells(3).Value.ToString( _
), dgvRow.Cells(7).Value.ToString() & " €", dgvRow.Cells( _
7).Value.ToString() * dgvRow.Cells(8).Value.ToString() & " €"}
TextBox1.Text = dgvRow.Cells(7).Value.ToString() * dgvRow.Cells( _
6).Value.ToString()
DataGridView1.Rows.Add(row3)
Next
If Me.TEILEDataGridView.CurrentCell IsNot Nothing Then
Dim currentRow As Integer = _
Me.TEILEDataGridView.CurrentCell.RowIndex
TEILEDataGridView.CurrentRow.Cells(6).Value = _
TEILEDataGridView.CurrentRow.Cells(6).Value - _
TEILEDataGridView.CurrentRow.Cells(8).Value
End If
If TEILEDataGridView.CurrentRow.Cells(6).Value = "1" Then
TEILEDataGridView.CurrentRow.Cells(6).Style.BackColor = Color.Yellow
Else
End If
End Sub
End Class |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|