Ik zit hier nu al een tijdje met een vreemd probleem.
Ik zal even kort de situatie schetsen:
Ik ben een webform aan het maken, dat voor een bepaalde gebruiker de ingevulde uren (taken) van een dag laat zien in een DataGrid (grid1).
Op hetzelfde webform staat er ook een DataGrid grid2 dat de niet ingevulde uren toont (zijn er bijvoorbeeld taken ingevuld van 15.00-15.30 en 16.00-17.30, dan zal beneden 15.30-16.00) verschijnen.
De data van grid1 wordt opgehaald met behulp van een webmethod, dit werkt perfect. Deze wordt bij elke refresh van de page opnieuw opgehaald in de BindGrid() method. Ik heb het moedwillig niet in het !IsPostback gedeelte gezet, omdat elke actie op de form een refresh van de data nodig heeft (nieuwe datum, insert van nieuwe taak,...).
Na elke BindGrid() wordt FindFreeHours() uitgevoerd. Deze zal in grid1 (met z'n dataset dsCodfus) alle lege uren gaan opsporen (einduur taak1 vergelijken met beginuur taak2).
Wanneer deze FindFreeHours() method voor de 2de keer wordt opgeroepen krijg ik dus volgende error:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
Het begin van de FindFreeHours() method hierboven.
De exception gebeurt bij "aantal = 0".
Comment ik die regel uit, dan verschuift de error gewoon naar de volgende regel.
Daarvoor had ik er nog een j = 0 voor staan, en toen gebeurde daar de exception.
Ik had eerst aantal lokaal gedeclareerd (dus int aantal = 0), ik heb hem nu al private gedeclareerd bovenaan, en nog altijd die fout.
Ik hoop dat iemand me wat duidelijkheid kan verschaffen
Ik zal even kort de situatie schetsen:
Ik ben een webform aan het maken, dat voor een bepaalde gebruiker de ingevulde uren (taken) van een dag laat zien in een DataGrid (grid1).
Op hetzelfde webform staat er ook een DataGrid grid2 dat de niet ingevulde uren toont (zijn er bijvoorbeeld taken ingevuld van 15.00-15.30 en 16.00-17.30, dan zal beneden 15.30-16.00) verschijnen.
De data van grid1 wordt opgehaald met behulp van een webmethod, dit werkt perfect. Deze wordt bij elke refresh van de page opnieuw opgehaald in de BindGrid() method. Ik heb het moedwillig niet in het !IsPostback gedeelte gezet, omdat elke actie op de form een refresh van de data nodig heeft (nieuwe datum, insert van nieuwe taak,...).
Na elke BindGrid() wordt FindFreeHours() uitgevoerd. Deze zal in grid1 (met z'n dataset dsCodfus) alle lege uren gaan opsporen (einduur taak1 vergelijken met beginuur taak2).
Wanneer deze FindFreeHours() method voor de 2de keer wordt opgeroepen krijg ik dus volgende error:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
C#:
1
2
3
4
5
6
7
| public void FindFreeHours() { DataRow dr1; DataRow dr2; aantal = 0; dr1 = dsCodfus.Tables[0].Rows[0]; dr2 = dsCodfus.Tables[0].Rows[dsCodfus.Tables[0].Rows.Count-1]; |
Het begin van de FindFreeHours() method hierboven.
De exception gebeurt bij "aantal = 0".
Comment ik die regel uit, dan verschuift de error gewoon naar de volgende regel.
Daarvoor had ik er nog een j = 0 voor staan, en toen gebeurde daar de exception.
Ik had eerst aantal lokaal gedeclareerd (dus int aantal = 0), ik heb hem nu al private gedeclareerd bovenaan, en nog altijd die fout.
Ik hoop dat iemand me wat duidelijkheid kan verschaffen
Marokko 2015: Route
Sat Tracker: SpotWalla
Blog: Gone for a ride