see how the column filtering, ordering, hiding is done for example in ProcessMonitor sysinternals app. This seems to be very logical.