en ce qui est que je sais le tri dans un ClientDataSet fonctionne sur les IndexDefs. Je peux ajouter un indexDef, définir les champs que je veux trier, et sur la propriété ixDescending je peux définir la direction à trier.Delphi TClientDataSet tri émission (insert)
I ont une ClientDataSet reliée à une source de données qui est la source pour un DBGrid. Lorsque j'insère maintenant un nouvel enregistrement dans ClientDataSet, il est inséré en haut de la table (ixDescending = false) ou en bas de la table (ixDescending = true).
Mais je veux un ordre décroissant et de nouveaux records devraient être en haut à la table - pas au fond. J'ai essayé de changer l'indexDefs à l'exécution pour y parvenir - mais sans succès. Quelqu'un a une idée de comment faire cela?
Je ne comprends pas - lorsque je ne définis pas de valeur pour les champs indexés, l'ordre est croissant. J'ai déjà besoin d'un ordre décroissant avant qu'un nouvel enregistrement ne soit inséré. – ben
Le problème pourrait être comment un ClientDataset gérer les valeurs NULL dans les index. Ils peuvent être considérés comme plus ou moins que toute autre valeur. Si un CDS utilise cette dernière convention, et que vous utilisez un ordre décroissant, un enregistrement avec des valeurs NULL dans les champs indexés sera placé en bas. –
Vous avez raison bien sûr. J'ai choisi un autre champ d'index qui est rempli avant de poster le nouvel enregistrement, et maintenant il est là où il devrait être - Merci;) – ben