Using the column index to hide columns in a DataGrid can pose a problem if the index changes. Here’s a quick workaround for when the columns are auto-generated. Using column indexes, you’d hide the second column using the code:
myGrid.Columns[1].Visible=false;
You need to modify the column index in the code every time the dataset changes.
Instead use DataGridColumn.HeaderText property to hide the column, if the DataGrid has auto-generated columns.
foreach(DataGridColumn col in grid.Columns){ if (col.HeaderText == "ColName") col.Visible = false;}