Typically, developers hide a DataGrid column by getting the index of the column to be hidden, and then hiding it in the ItemCreated event as follows:
e.Item.Cells[myColumnIndex].Visible = false;
That works, but it forces the runtime to first create the cells and then hide them. A better approach is to not create them at all.
To avoid the unneeded column creation, bind each column that needs to be visible to the DataGrid manually (instead of auto-generating the columns). Add each column as a bound column and set its DataField property.
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible.
Submit your tip here.