public static IEnumerable <ColumnBase> GetSelectedColumns(this DataGridContext gridContext)
        {
            var query = from range in gridContext.SelectedCellRanges
                        from item in gridContext.EnumerateColumns(range.ColumnRange)
                        select item;

            return(query.Distinct().OrderBy(item => gridContext.VisibleColumns.IndexOf(item)));
        }