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 : S�lectionner tout - Visualiser dans une fen�tre � part
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 { ...Et le FindNextControl du DBCtrlGrid n'est pas accessible, je ne peux pas directement l'utiliser.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
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); ...
Vous avez une id�e pour parcourir les composants d'une ligne d'un DBCtrlGrid ?
Partager