Ik heb een probleem met een bindingsource en een datagridview waardoor ik de laatste rij niet kan verwijderen.
Mijn DataGridView heeft AllowUserToAddRows op false en AllowUserToDeleteRows op false. Er is dus geen virtuele rij met zo'n sterretje ervoor en deleten kan alleen met een button.
De boel is als volgt gekoppeld:
Dit werkt dus voor elke rij behalve de laatste, dan geeft hij de volgende error:
Ik zit inmiddels met mijn handen in het haar, iemand enig idee?
Mijn DataGridView heeft AllowUserToAddRows op false en AllowUserToDeleteRows op false. Er is dus geen virtuele rij met zo'n sterretje ervoor en deleten kan alleen met een button.
De boel is als volgt gekoppeld:
C#:
1
2
3
4
5
6
7
8
| // Context is een LINQ to SQL context this.jobBindingSource.DataSource = context.Jobs; this.dataGridViewJobs.DataSource = this.jobBindingSource; // Ik heb een verwijder button met de volgende code daarin: // Hij checkt eerst of current null is, zo ja, dan toont hij een warning en returnt hij, vervolgens: this.jobBindingSource.RemoveCurrent(); context.SubmitChanges(); |
Dit werkt dus voor elke rij behalve de laatste, dan geeft hij de volgende error:
Ik heb op de MSDN gelezen dat dit kan komen doordat de index van Current kleiner dan 0 is (is bij mij precies 0, laatste rij immers), of doordat de count 0 of kleiner is (is 1 bij mij) of dat AllowDelete van de bindingsource op false staat (staat bij mij op true).An unhandled exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll
Additional information: DataBinding cannot find a row in the list that is suitable for all bindings.
Ik zit inmiddels met mijn handen in het haar, iemand enig idee?