Hej! Hej!Hitta index för en ny rad i en sorterad DataView
Finns det nått bra sätt att hitta index för en nyskapad rad i en sorterad dataview?
Jag har en form där jag kan bläddra mellan poster, lägga till, radera och uppdatera. Dataviewn är sorterade på efternamn. När jag har skapat en ny post enligt nedan så vill jag visa den nya posten på sin rätta sorterade plats och behöver således veta den nya radens index i DataView'n för att kunna navigera till rätt ställe utan att sortera om DataViewn. Jag vet primärnyckeln men om jag sorterar DataViewn på denna och använder "DataView.Find" så får jag ju fel index tillbaka och om jag använder DataView.Find med efternamn så kan det bli fel index eftersom samma efternamn kan läggas till flera gånger.
Dim newRow As DataRowView = dwPersonView.AddNew
newRow("FirstName") = Trim(Me.txtFirstName.Text)
newRow("LastName") = Trim(Me.txtLastName.Text)
newRow.EndEdit()
'Här vill jag veta vilket index den nya raden har i den sorterade DataView'n för att kunna visa posten.
inc = '??? Den nya radens index
Call Navigate(inc) 'Skicka inc till subrutinen som visar den nya posten
Någon som har en bra ide om detta?
Sv: Hitta index för en ny rad i en sorterad DataView
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
AddHandler DwPersonView.ListChanged, AddressOf DwPersonView_ListChanged
End Sub
Private Sub DwPersonView_ListChanged(sender As Object, e As ListChangedEventArgs)
Navigate(e.NewIndex)
End Sub
Värt att poängtera att ListChanged-eventet kan avfyras en eller flera gånger för varje rad som läggs till, beroende på var den hamnar i sotrteringsordningen etc. Så vitt jag förstår så bör det alltid vara så att den "sista" gången den avfyras så är NewIndex det slutgiltiga indexet som den nya raden fick.
Sv:Hitta index för en ny rad i en sorterad DataView
Funkar klockrent om man tar hjälp av e.ListChangedType inne i eventet denna talar om vad det är för typ av ändring som sker i listan. Supertack för hjälpen, höll på att bli galen ;) !!
Micke