private void dgOrders_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {            
 
            // Check which column is selected, otherwise set NewColumn to null.
            DataGridViewColumn newColumn =                              
                dgOrders.SelectedColumns.Count > 0 ?
                dgOrders.SelectedColumns[0] : null;
 
            DataGridViewColumn oldColumn = dgOrders.SortedColumn;
            ListSortDirection direction;
 
            // If oldColumn is null, then the DataGridView is not currently sorted.
            if (oldColumn != null)
            {
                // Sort the same column again, reversing the SortOrder.
                if (oldColumn == newColumn &&
                    dgOrders.SortOrder == SortOrder.Ascending)
                {
                    direction = ListSortDirection.Descending;
                }
                else
                {
                    // Sort a new column and remove the old SortGlyph.
                    direction = ListSortDirection.Ascending;
                    oldColumn.HeaderCell.SortGlyphDirection = SortOrder.None;
                }
            }
            else
            {
                direction = ListSortDirection.Ascending;
            }
 
            dgOrders.Sort(newColumn, direction);
            
            newColumn.HeaderCell.SortGlyphDirection =
                direction == ListSortDirection.Ascending ?
                SortOrder.Ascending : SortOrder.Descending;
        }