Developer Docs - Developer Codex - Removing Columns From a Grid

Do not remove columns that exist in the Grid’s Html definition. This will cause the event binding for row buttons to be lost. For example, if you have a grid that has a campus column declared:


  
  ...
  
  

And then you have the following code somewhere in the code behind:

var campusCount = CampusCache.All().Count;
if (campusCount <= 1 )
{
   var campusColumn = gSteps.ColumnsOfType()
    .Where( a => a.DataField == "CampusName" )
    .FirstOrDefault();
   if ( campusColumn != null )
   {
      gSteps.Columns.Remove(campusColumn);
   }
}

Removing the column will cause the delete field to lose its binding to DeleteStep_Click.