Hi,
If ur using Updatepanel in the page when grid view row command event fire the page is mot fully rendered .
So add this code in ur Page after
<triggers>
<asp:postbacktrigger controlid="GridView1" xmlns:asp="#unknown" />
</triggers>
and when Grid doesn't have any data Use GridView1.DataSource = String.Empty;
For Lable Control write Code Like
if(GridView1.DataSource == String.Empty || GridView1.DataSource == null)
{
label1.Text = "Your Message";
}
If Still u have problem Place the grid and buttons in a panel and Hide the Panel when needed.