Sheldon,
>I know browse is outdated, but if give user ability to change column order by himself, any simple solution by using grid control?
Grid columns can be moved by the user. In the Grid.Destroy all you have to do is iterate the grid.Columns[] collection and write the ControlSource to your own preferences table/ini file and then in grid.Init read the preferences back in and put the columns in te order the user wants.
You could also do this by using the preferences to order the columns in the SELECT statement itself which would be a tad easier then mucking with the grid.