Hallo,
Ik ben bezig met een applicatie op Windows Mobile 6 in VB.NET.
Indien ik een DataTable weergeef in een DataGrid en ik verwijder een row middels de code. Een klant kan namelijk erachter komen dat hij een verkeerde ingave heeft gedaan in een voorgaand proces.
Dan wordt de row netjes uit de DataGrid verwijderd, echter wanneer ik nu een row toevoeg met
Dan krijgt deze ten eerste een index 1 hoger dan de row die is verwijderd, je zou verwachten dat het DataGrid weer opnieuw geïndexeerd zodat van 0..N geen lege indexen bestaan en als je deze row vervolgens wil verwijderen krijg je de volgende foutmelding IndexOutOfRangeExeption. En dit terwijl de code
de waarde van de row index aangeeft die in het DataGrid wordt weergegeven.....
Wil ik iets dat niet kan, of klopt mijn aanpak niet, of dient er iets gerefreshed te worden na elke delete row uit het DataGrid.
Alvast bedankt.
Ik ben bezig met een applicatie op Windows Mobile 6 in VB.NET.
Indien ik een DataTable weergeef in een DataGrid en ik verwijder een row middels de code. Een klant kan namelijk erachter komen dat hij een verkeerde ingave heeft gedaan in een voorgaand proces.
code:
1
| TableName.Rows.RemoveAt(IndxWaarde) |
Dan wordt de row netjes uit de DataGrid verwijderd, echter wanneer ik nu een row toevoeg met
code:
1
| TableName.Rows.Add(workRow) |
Dan krijgt deze ten eerste een index 1 hoger dan de row die is verwijderd, je zou verwachten dat het DataGrid weer opnieuw geïndexeerd zodat van 0..N geen lege indexen bestaan en als je deze row vervolgens wil verwijderen krijg je de volgende foutmelding IndexOutOfRangeExeption. En dit terwijl de code
code:
1
| IndxWaarde = DataGrid.Item(DataGrid.CurrentRowIndex, 0) |
de waarde van de row index aangeeft die in het DataGrid wordt weergegeven.....
Wil ik iets dat niet kan, of klopt mijn aanpak niet, of dient er iets gerefreshed te worden na elke delete row uit het DataGrid.
Alvast bedankt.