Le filtrage de jeux de données peut-il être effectué hors du jeu de données?
Question
J'ai deux contrôles TDBLookupComboBox que je souhaiterais connecter au même jeu de données, mais chacun d'eux affichera un sous-ensemble différent des données. Si je n'avais besoin que d'une seule case, j'utiliserais le filtrage sur le jeu de données, mais je dois pouvoir afficher les deux en même temps, et je ne connais aucun moyen de le faire. Est-ce que quelqu'un sait si cela peut être fait, et si oui, comment?
La solution
Si vous utilisez un TClientDataSet, vous pouvez cloner le curseur (TClientDataSet.CloneCursor) dans un autre TClientDataSet pour lequel la propriété ProviderName n'est pas définie. Les deux ClientDataSet pointent maintenant vers les mêmes données en mémoire mais peuvent avoir leurs propres filtres.