Please use grid view RowDataBound event. I just tested. You can refer below code but you need to use some flag in RowDataBound so that it get executed only when you have empty data.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{ var columnsCount = e.Row.Cells.Count;
e.Row.Cells.Clear();
var tc = new TableCell();
tc.Text = "Empty";
tc.ColumnSpan = columnsCount;
e.Row.Cells.Add(tc);
}
}