To reproduce: for (int i = 0; i < 5; i++) { this.radGridView1.Columns.Add("Col" + i); } ColumnGroupsViewDefinition columnGroupsView = new ColumnGroupsViewDefinition(); columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup()); columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup()); columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup()); columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup()); columnGroupsView.ColumnGroups[0].Rows.Add(new GridViewColumnGroupRow()); columnGroupsView.ColumnGroups[0].Rows[0].ColumnNames.Add("Col3"); columnGroupsView.ColumnGroups[1].Rows.Add(new GridViewColumnGroupRow()); columnGroupsView.ColumnGroups[1].Rows[0].ColumnNames.Add("Col2"); columnGroupsView.ColumnGroups[2].Rows.Add(new GridViewColumnGroupRow()); columnGroupsView.ColumnGroups[2].Rows.Add(new GridViewColumnGroupRow()); columnGroupsView.ColumnGroups[2].Rows[0].ColumnNames.Add("Col0"); columnGroupsView.ColumnGroups[2].Rows[1].ColumnNames.Add("Col1"); columnGroupsView.ColumnGroups[3].Rows.Add(new GridViewColumnGroupRow()); columnGroupsView.ColumnGroups[3].Rows[0].ColumnNames.Add("Col4"); this.radGridView1.ViewDefinition = columnGroupsView; this.radGridView1.Columns["Col2"].Width = 150; this.radGridView1.Columns["Col0"].Width = 200; Workaround: either set the columns width before setting the RadGridView.ViewDefinition or call the TableElement.ViewElement.RowLayout.InvalidateRenderColumn after specifying the width.