f.developer ha scritto:
vorrei fare un filtro concatenando dei checkbox. [...]
io per il momento ho fatto cosi.
ma se prendo solo due check non si concatena perchè manca l'or ma non posso dichiararlo nel check singolo
Ci sono migliaia di alternative. Potresti inserire le condizioni in una lista di stringhe (
TList<string>) e generare in seguito l'espressione completa concatenando gli elementi al suo interno (ad esempio, usando il metodo
String.Join).
Oppure potresti usare l'oggetto
TStringBuilder in modo simile, accodando la parte di testo relativa all'OR solo se trovi già un contenuto all'interno (quindi se
Length >= 0), inserendo poi la condizione specifica.
Se si tratta di uno statement SQL e quindi stai definendo un filtro che finira su una clausola WHERE per ricercare dati su database, puoi inizializzare la stringa con una condizione neutra, ad esempio '1 <> 1', che sia sempre falsa, e poi concatenare (inserendo *sempre* l'OR all'inizio) le altre condizioni, qualora la
TCheckBox sia stata spuntata.
Suvvia, un pochino di ingegno...