TIBTable et TIBQuery - Récupérer les Displaylabel en une seule procedure
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 2015
-
13 juil. 2007 à 15:33
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 2021
-
15 juil. 2007 à 11:41
Bonjour
A partir du tutoriel de DelphiProg (j'adore ce tutoriel !), j'essaie de
modifier le composant TComboBox pour le remplir automatiquement avec
les displaylabel d'un composant de base de données firebird. Ça donne
ça :
Le problème, c'est que j'aimerais par la suite pouvoir rechercher les
displaylabel d'un TIBTable ou d'un TIBQuery. Existe-t-il un moyen autre
que de faire deux procédures distincte ?
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 13 juil. 2007 à 16:30
petite correction de rien du tout :
procedure TComboBox.BuildFieldList(ADataSet: TIBDataSet);
var i : integer;
begin
with Items do
begin
Clear;
BeginUpdates;
try
For i := 0 to ADataSet.Fields.Count-1 do
Add( ADataSet.Fields[i].DisplayLabel );
finally
EndUpdates;
end;
end;
end;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 13 juil. 2007 à 16:50
On pouvait même encore se passer d'un bloc Begin/End
procedure TComboBox.BuildFieldList(ADataSet: TIBDataSet);
var i : integer;
begin With Items do Try Clear;
BeginUpdates;
For i := 0 to ADataSet.Fields.Count - 1 do Items.Add(ADataSet.Fields[i].DisplayLabel);
Finally EndUpdates;
End;
end;
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 13 juil. 2007 à 17:45
Merci les gars...
Mais je voudrais surtour savoir comment ça pourrait marcher avec un ttable et un tibquery... pour le moment, j'ai fait un BuildTFieldList pour le ttable et un
BuildQFieldList pour le tibquery...
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 13 juil. 2007 à 18:07
Salut !
Toujours dans la logique d'optimisation de Cirec, on pourrait appeler BeginUpdate (sans "s") avant Clear comme ça, on a un rafraîchissement de moins.
Il est quand même préférable d'appeler BeginUpdate avant le "try" (ou alors en tout premier). Sinon, si le code plante entre le "try" et le BeginUpdate, on appelle EndUpdate (qui va décrémenter un compteur que l'on a pas incrémenter... et bousiller tout le code utilisant de nouveau la séquence Beginupdate...Endupdate)
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 13 juil. 2007 à 21:17
Japee :
A noter que les cepes se font très bien en conserve. Et quand tu les sors du bocal, tu les sautes à la poele et ils sont comme s'ils étaient frais... (foi de landais !)
(J'aime bien les girolles aussi)
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 15 juil. 2007 à 11:41
@Simon :
J'ai changé l'intitulé et la catégorie de ta question :
"modification de composant", dans la catégorie "Delphi\Divers", ça n'était pas propre à attirer nos éminents spécialistes des bases de données...