public void InsertColumns(List <GridColumn> cols) { Columns.Clear(); foreach (GridColumn item in cols) { DataGridViewColumn column = new DataGridViewColumn() { Name = item.name, DataPropertyName = item.name, HeaderText = item.Text, Visible = item.visible, CellTemplate = new DataGridViewTextBoxCell() }; Columns.Insert(cols.IndexOf(item), column); } LastRowGrid?.InsertColumns(cols); }