In aspx page add , one template field like above.....
<Columns>
<asp:TemplateField HeaderText="Hide"> <ItemTemplate> <asp:LinkButton ID="lnkHide" runat="server" Text="Hide" OnClick="LnkHide_Click" /> </ItemTemplate> </asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Name" />
//Other columns you have added as Boundfield like above
</Columns>
Than in aspx.cs page , write this function:
protected void LnkHide_Click(object sender, EventArgs e)
{
GridViewRow clickedRow = ((LinkButton)sender).NamingContainer as GridViewRow;
clickedRow.Visible = false;
}
You just have to hide your selected row..
protected void XYZ_SelectedIndexChanged(object sender, EventArgs e)
{
XYZ.Rows[XYZ.SelectedIndex].Visible = false;
}