private void GetColumnsFromGrid() { var colArray = new DataGridViewColumn[crmGridView.ColumnCount]; crmGridView.Columns.CopyTo(colArray, 0); columns = colArray.OrderBy(c => c.DisplayIndex).Select(c => $"{c.Name}:{(c.Visible ? c.Width : -1)}").ToList(); }