A generic GridColumn object does not contain the DataField property. You will have to cast this column as a GridBoundColumn in order to change DatField property.
protected void OnButtonClicked(object sender, EventArgs e)
{
var boundcolumn = (GridBoundColumn)gridItems.Columns[3];
boundcolumn.DataField = "ParentParentName";
gridItems.DataSource = list;
gridItems.DataBind();
}