ti dico cosa farei io (anche se non ci sono poi tantissimi dettagli).
crea una tabella (fisica o in memoria, nel secondo caso se devi scrollarla spesso può convenire caricarla in RAM e poi scriverla tutta in un colpo prima della join) che registra le righe della griglia.
In pratica fai una tdbgrid che opera con un tdatasource/tdataset.
Lì fai "paciugare" l'utente (immagino abbia comandi del tipo "seleziona una riga, seleziona tutto, inverti selezione), mediante un campo flag, alla fine esegui la query come join con la tabella temporanea

Rispondi quotando