Probleme de Binding source
Bonjour,
Je viens à vous car j'ai un problème concernant un datagridview accouplé à des controles pour modifier la ligne en cours.
Pièce jointe 465821
Jusqu'à maintenant, c'est bon.
Maintenant, je souhaite pouvoir modifier:
-> Le "début" de la ligne N+1 quand "fin" de la ligne N est modifié (avec la même valeur)
-> Le "fin" de la ligne N-1 quand "début" de la ligne N est modifié (avec la même valeur)
Donc j'ai codé l'évenement "Currentchanged de la binding source permettant de définir la ligne précedente et la ligne suivante :
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
|
private void bindingList_CurrentChanged( object sender, EventArgs e )
{
if (bindingList.Position == 0)
{
previous = null;
iprevious = -1;
next = bindingList.List[1] as TNG;
inext = 1;
}
else if (bindingList.Position == (bindingList.Count - 1))
{
previous_troncon = bindingList[bindingList.Count - 2] as TNG;
iprevious_troncon = bindingList.Count - 2;
next_troncon = null;
inext_troncon = -1;
return;
}
else
{
previous = bindingList[bindingList.Position - 1] as TNG;
iprevious = bindingList.Position - 1;
next= bindingList[bindingList.Position + 1] as TNG;
inext_ = bindingList.Position + 1;
}
} |
et finalement, j'ai également codé, pour les deux numericupdown, l'evenement ValueChanged
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| private void nud_Debut_ValueChanged( object sender, EventArgs e )
{
if (previous != null)
{
previous.fValFin = (float)nud_Debut.Value;
bindingList.ResetItem(iprevious);
}
}
private void nud_Fin_ValueChanged( object sender, EventArgs e )
{
if (next != null)
{
next.fValDeb = (float)nud_Fin.Value;
bindingList.ResetItem(inext);
}
} |
Le problème vient du faite que quand change de ligne (N -> X) la ligne change, donc les deux numericupdown sont modifiés (suivant la valeur de la ligne X). Le probleme est que l'évenement bindinglist_CurrentChanged arrive après. Ce qui veux dire que le changement de ligne provoque le changement de la valeur de "fin" de la ligne N-1 et de "Début" de la ligne N+1 par rapport à la ligne X.
Je n'arrive pas à désactiver les deux évenements des numericupdown avant.
J'espere que j'ai été assez clair.
Merci de votre aide.
Cordialement.
Flow