Before binding your DataTable(DataSource) to the grid, check the row count of the DataTable. If its empty (row count = 0) then add a dummy row to the DataTable and then bind it with the grid. Also make the visibility of the dummy row in the grid to false.
Here is some sample code
if(dt.Rows.Count > 0 )
{
//DataSource is not empty
gvResults.DataSource = dt;
gvResults.DataBind();
}
else
{
//DataSource empty, add dummy row
dt.Rows.Add(dt.NewRow());
gvResults.DataSource = dt;
gvResults.DataBind();
//Make dummy row invisible
gvResults.Rows[0].Visible = false;
}