Index Hors limite sur Data Grid view.
Bonjour,
Dans un programme que je réalise, j'ai un formulaire de recherche qui me retourne une liste d'objet, que j'affiche dans un DataGridView. Cela marche parfaitement Seulement si le nombre de résultat n'est pas égal à 1 (Zéro ça passe, plus que 1 aussi :? ) et je reçois le message d'erreur suivant :
Citation:
L'index était hors limites. Il ne doit pas être négatif et doit être inférieur a la taille de la collection.
Nom du paramètre : index
Pourtant en y regardant en debug je constate bien que ma liste contient ce record, mais je ne peut l'afficher.
Voici le code concerné.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
private void buttonRecchercher_Click(object sender, EventArgs e)
{
if (dataGridViewEleRechercheEleve.Rows.Count == 0)
{
if (radioEleAdulte.Checked)
type = 'A';
if (radioEleEnfant.Checked)
type = 'E';
if (radioEleHomme.Checked)
sexe = 'H';
if (radioEleFemme.Checked)
sexe = 'F';
if ((!(radioEleAdulte.Checked)) && (!(radioEleEnfant.Checked)))
type = '%';
if ((!(radioEleHomme.Checked)) && (!(radioEleFemme.Checked)))
sexe = '%';
dataGridViewEleRechercheEleve.Rows.Clear();
ele = ServiceEleve.getEleveByCriteria(textEleNom.Text, textElePrenom.Text, sexe, type, textEleAdresse.Text, textEleCp.Text, textElePays.Text, textEleVille.Text, textEleSocmus.Text);
count = ele.Count;
if (count > 1)
dataGridViewEleRechercheEleve.Rows.Add(count);
{
curseur = 0;
while (count > 0)
{
dataGridViewEleRechercheEleve[0, curseur].Value = ele[curseur].ele_id; //Erreur
dataGridViewEleRechercheEleve[1, curseur].Value = ele[curseur].ele_nom;
dataGridViewEleRechercheEleve[2, curseur].Value = ele[curseur].ele_prenom;
if (ele[curseur].ele_sexe == 'H')
dataGridViewEleRechercheEleve[3, curseur].Value = "Homme";
if (ele[curseur].ele_sexe == 'F')
dataGridViewEleRechercheEleve[3, curseur].Value = "Femme";
if (ele[curseur].ele_type == 'A')
dataGridViewEleRechercheEleve[4, curseur].Value = "Adulte";
if (ele[curseur].ele_type == 'E')
dataGridViewEleRechercheEleve[4, curseur].Value = "Enfant";
dataGridViewEleRechercheEleve[5, curseur].Value = ele[curseur].ele_adresse;
dataGridViewEleRechercheEleve[6, curseur].Value = ele[curseur].ele_cp;
dataGridViewEleRechercheEleve[7, curseur].Value = ele[curseur].ele_ville;
dataGridViewEleRechercheEleve[8, curseur].Value = ele[curseur].ele_pays;
dataGridViewEleRechercheEleve[9, curseur].Value = ele[curseur].ele_socmus;
curseur++;
count--;
}
}
}
} |
Donc je vous demande votre aide pour me montrer ou mon raisonnement n'est pas correct et ce que je pourrai faire pour le corriger car là je suis un peu perdu.
D'avance Merci.
Seb ;-)