Rijen kopiëren DataGridView

Status
Niet open voor verdere reacties.

Jan92

Gebruiker
Lid geworden
17 feb 2010
Berichten
111
Dag allemaal,

Ik sukkel met het volgende:

Op mijn form staan 2 DataGridview's

vb van ingelezen data in DataGridView1 =

rij 1 : Appel Peer Banaan Meloen
rij 2 : Kers Pruim Bes Appel
rij 3: Meloen Appel Pruim Peer

De 2de DataGridView is leeg

Als er in de 1ste grid aan een voorwaarde is voldaan,

vb Als er in de VIERDE kolom het woord Peer in een rij staat,

Kopiër dan deze (volledige) rij naar de tweede DataGridView

In mijn voorbeeld hier is dit de 3de rij !

Ik ben al aan deze code geraakt :

For i As Integer = 0 To DataGridView2.Rows(0).Cells.Count - 1

If DataGridView1.Rows(intcount).Cells(3).Value = "Peer" Then

DataGridView2.Rows(0).Cells(i).Value = DataGridView1.Rows(intcount).Cells(i).Value

End If

i += 1

Next i

'Het probleem is dat deze code wel lijkt te werken omdat het toevallig de laatste rij is
die gekopieerd wordt, maar als het de 1ste of 2de rij is, werkt het niet !?

Ik hoop dat ik het duidelijk genoeg uitgelegd heb, en er iemand mij kan helpen.

Groeten, Jan
 
Ik zit met hetzelfde dus helaas kan ik je niet helpen maar even wachten :)
 
Dag, Allemaal

Gezien ik ondertussen zelf de oplossing voor mijn vraag gevonden heb, wil ik deze hier graag met anderen delen.

Ik heb mijn code ingekort en aangepast om de "gevoelige zaken" te verbergen maar het zal wel duidelijk zijn.

Code:
Imports System.IO							
Imports Microsoft.VisualBasic.FileIO							
							
Public Class FruitTabel							
    Private intcount As Integer = 0							
    'Globale variabel voor deze Class - Teller voor DataGridView1							
							
Private Sub FruitTabel_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load			
 If System.IO.File.Exists("C:\Fruittabel.csv) Then							
            LeesDataBase()							
        Else							
            MsgBox("Bestand niet gevonden", 48, "Waarschuwing")							
        End If							
        Startscherm.Show()							
        Me.Close()							
End Sub							
							
Private Sub LeesDataBase()							
Dim TextLine As String = ""							
Dim SplitLine() As String							
Dim objReader As New System.IO.StreamReader("C:\Fruittabel.csv")							
Do While objReader.Peek() <> -1							
        TextLine = objReader.ReadLine()							
        SplitLine = Split(TextLine, ";")							
        Me.DataGridView1.Rows.Add(SplitLine)							
Loop							
objReader.Close()							
For Each Row As DataGridViewRow In DataGridView1.Rows							
If DataGridView1.Rows(intcount).Cells(3).Value = "Peer" Then							
        Dim n As Integer = DataGridView2.Rows.Add()							
DataGridView2.Rows.Item(n).Cells(0).Value = DataGridView1.Rows(intcount).Cells(0).Value  				
DataGridView2.Rows.Item(n).Cells(1).Value = DataGridView1.Rows(intcount).Cells(1).Value  				
DataGridView2.Rows.Item(n).Cells(2).Value = DataGridView1.Rows(intcount).Cells(2).Value  				
DataGridView2.Rows.Item(n).Cells(3).Value = DataGridView1.Rows(intcount).Cells(3).Value
'Voor elke kolom de waarde van Cells verhogen!  				
End If							
intcount += 1							
Next Row							
End Sub							
End Class

Voor mij is deze vraag dus opgelost.
Tot genoegen, Jan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan