Utiliser FindNextControl avec un DBCtrlGrid
Bonjour,
J'essai toujours de faire fonctionner mon DBCtrlGrid comme je veux. J'ai donc revu tout le fonctionnement concernant ce composant dans mon application.
J'ai donc centralis� tous les �v�nements de mise � jour dans une seule et m�me fonction. Seulement, je dois pour voir r�cup�rer un acc�s � chaque composant de la ligne modifi�e. J'ai un pointeur sur un des objets.
Je pensais donc parcourir les composants pour les retrouver via FindNextControl. Mais, celui de la fiche ne s'arr�te pas sur les controls de ce composant et il trouve les autres composants. Je ne peux pas retrouver le composant par son nom puisqu'il y a un composant portant le m�me nom pour chaque ligne du DBCtrlGrid.
De plus, je dois d'abord parcourir les composants en arri�re pour trouver le 1er et ensuite parcourir tous les autres.
Voici un extrait de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| TWinControl *x; // positionnement sur le dbcombobox de la ligne en cours de traitement
if (((TWinControl *)Sender)->Name == "DBComboBox1")
{
x = (TWinControl *)Sender;
}
else {
if (((TWinControl *)Sender)->Name == "JvDBCalcEdit1")
{
x = FindNextControl((TWinControl *)Sender, false, false, false);
}
else {
if (((TWinControl *)Sender)->Name == "JvDBCalcEdit2")
{
x = FindNextControl((TWinControl *)Sender, false, false, false);
x = FindNextControl(x, false, false, false);
}
else {
... |
Code:
1 2 3 4 5 6 7 8
| //On récupère un accès à tous les composants de la ligne en cours d'édition
TDBComboBox *tempProduit = (TDBComboBox *)x;
x = FindNextControl(x, true, false, false);
TJvDBCalcEdit *tempPU = (TJvDBCalcEdit *)x;
x = FindNextControl(x, true, false, false);
TJvDBCalcEdit *tempQuantite = (TJvDBCalcEdit *)x;
x = FindNextControl(x, true, false, false);
... |
Et le FindNextControl du DBCtrlGrid n'est pas accessible, je ne peux pas directement l'utiliser.
Vous avez une id�e pour parcourir les composants d'une ligne d'un DBCtrlGrid ?