1)
As Zvoni said, you must do it probably yourself.
However, it does not seem to be more work than adjusting such a box.
2)
What may help you as well:
TDynamicGrid of Toni. It allows to sort the columns found within a table as in Excel.
But be aware, that the transaction and modify of query works slightly differently (see threads here how).
This is due to the fact, that usually queries are not able to be sorted after posting.
3)
or how I solve such tasks, is something like (peusdo-code, pls debug):
Var s, s1: string;
begin
s:='';
s1:=''
if myCheckbox.checked then s1:=' , myField2 ';
s:='select myField1 ' + s1 + ' from myTable';
IBQuery.SQL.Text:=s;
...
end;