I require a customised version of the standard Microsoft ListView control that comes with Visual Studio 2010 and .NET v 4.0.0.
I require extended functionality to have column sorting (including standard sort arrows), enable context menus to be set for column headers and enable columns to be hidden.
## Deliverables
Full requirements of the custom ListView control:
* The background of the sorted column can be displayed in a different color (like the detailed view of Windows XP Explorer).
* The header of the sorted column can display an arrow that indicates the sort direction (like the detailed view of Windows XP Explorer).
* You can give the user the opportunity to hide or redisplay selected columns by just clicking on the header control with the right mouse button (see picture attached).
* You can hide or redisplay a selected column entirely (whilst persisting any data that might be stored there already).
* The label attributes state icon, small icon, and selection can always be shown in the leftmost column, independent of the order of the columns.
* The current state of the list view control (column widths, column order, hidden columns, and sort column and direction) can be saved and restored.