dinier
Messages postés12Date d'inscriptiondimanche 15 août 2010StatutMembreDernière intervention13 septembre 2010
-
22 mai 2009 à 14:29
dinier
Messages postés12Date d'inscriptiondimanche 15 août 2010StatutMembreDernière intervention13 septembre 2010
-
24 mai 2009 à 19:34
Bonjour,
j'ai un problème lorsque j'ai un service qui n'a pas d'employé, j'ai un message d'erreur que l'exception n'est pas gérée et que l'index -1 n'a pas de valeur, serviceemploye est le nom de la liaison entre les deux tables, j'aimerai que lorsque je vais sur un service qui n'a pas d'employé, qu'il n'affiche rien dans employé.
Voici le code où est généré l'eurreur :
DataRowView rowView = this.BindingContext[dbDs, "tp1_service.serviceemploye"].Currentas DataRowView;
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 201733 22 mai 2009 à 22:13
Bonsoir,
En C#, comme dans les autres langages, avant d'acceder à une valeur d'un tableau par son index, il faut vérifier de l'index soit valide.
c'est donc à toi de tester si des informations sont présentes ou non.
Tu peux aussi trapper l'exception pour afficher une vue vide.
dinier
Messages postés12Date d'inscriptiondimanche 15 août 2010StatutMembreDernière intervention13 septembre 2010 22 mai 2009 à 23:00
Je ne sais pas comment on fait, je voudrais afficher une vue vide, je sais que cela vient de ce bout de code car je l'ai enlevé et cela fonctionnait mais j'en ai besoin pour gérer un radio. J'ai oublié de préciser que j'ai fait un dataset. Je suis débutant en C#.
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 201733 23 mai 2009 à 23:17
Bonsoir,
plutôt que d'enlever le code, encadre-le par un try-catch
DataRowView rowView=null;
try
{
DataRowView rowView = this.BindingContext[dbDs, "tp1_service.serviceemploye"].Currentas DataRowView;
}
catch {}
if (rowView != null)
{
// là tu ajoutes ton code qui va gerer les données de rowView
}
dinier
Messages postés12Date d'inscriptiondimanche 15 août 2010StatutMembreDernière intervention13 septembre 2010 24 mai 2009 à 00:30
Bonsoir, merci beaucoup, j'ai un peu adapté car il me mettait une erreur car déjà déclaré pour DataRowView rowView = this.BindingContext[dbDs, "tp1_service.serviceemploye"].Current as DataRowView;
J'ai mis ceci:
try
{
rowView =
this.BindingContext[dbDs,
"tp1_service.serviceemploye"].Current
as
DataRowView;}
catch {}
if (rowView !=
null){
if ((
bool)rowView.Row[
"sexe"] ==
true)
this.rb_masculin.Checked =
true;
else
this.rb_feminin.Checked =
true;}
else{
this.rb_masculin.Checked =
true;}
Vous n’avez pas trouvé la réponse que vous recherchez ?