insert row tussen 2 rijen

Status
Niet open voor verdere reacties.

mustangBE

Gebruiker
Lid geworden
2 jun 2007
Berichten
349
hallo

ik wil in mijn datagridview een rij toevoegen onder of boven een geselecteerde rij.
heb momenteel deze code.

Code:
Dim row As DataRow
        Dim tableparts = New DataTable

        If CataloogDataGridView.SelectedRows.Count > 0 Then
            row = tableparts.NewRow
            CataloogDataGridView.Rows.Add(row, CataloogDataGridView.SelectedRows(0).Index)
        Else
            MessageBox.Show("geen rij geselecteerd.")
        End If

maar krijg dan error

Kan rijen niet via programmacode toevoegen aan de verzameling rijen van de DataGridView als het besturingselement gegevensgebonden is.

en mijn 2de vraag,
als primery key gebruik in een auto nummering.
is het mogelijk om de nummering te laten doorlopen met de ingevoerde rij
vb : rijen 1,2,3,4,5,6
ik insert een rij tussen 3 en 4
dan moet het 1,2,3,4,5,6,7 worden in plaats van 1,2,3,7,4,5,6.
de data staat in een bepaalde volgorde , dus de primery key mag gesorteerd worden , moet ineens goed staan.

hoop dat het een beetje duidelijk is
 
Voor zover ik weet is dit niet zomaar mogelijk... dat is sowieso niet waar Primary Key voor bedoeld is.

Het beste kun je een volgordegetal toevoegen (een nieuwe kolom) en dan in twee queries je nieuwe rij toevoegen (met een transactie anders krijg je mogelijk rare dingen)

Eerst een UPDATE die het volgordegetal met 1 ophoogt voor elke rij die na je nieuw in te voegen rij komt, en dan een INSERT van je nieuwe rij met het juiste volgordegetal.
 
nu werkt ik met een volgorde getal , maar ik dacht van dit automat. te laten gebeuren.
daar vind ik dan wel iets op

heb je een idee hoe ik een rij kan invoegen onder een geselecteerde rij.
mijn code doet het niet.

Code:
Dim row As DataRow
        Dim tableparts = New DataTable

        If CataloogDataGridView.SelectedRows.Count > 0 Then
            row = tableparts.NewRow
            CataloogDataGridView.Rows.Add(row, CataloogDataGridView.SelectedRows(0).Index)
        Else
            MessageBox.Show("geen rij geselecteerd.")
        End If
 
SQL kent het begrip van "volgorde" niet echt, dus volgensmij is daar geen optie voor. Hij kan alleen sorteren op dingen, maar er is geen standaard volgorde waar je iets in kunt zetten ofzo.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan