Add '' in your SqlCommand ("delete from product_detail where Product_Id=@Product_Id", con) if your Product ID is of alphanumeric type.
It is an Integer in db but while getting from grid what it represents: before assigning it try this
int prod_id = Convert.ToInt32(gridItem.Rows[e.RowIndex].Cells[1].Text.Trim().ToString());
sqlDelete.Parameters.Add("@Product_Id", prod_id);
Also put a space in the sqlCommand
SqlCommand sqlDelete = new SqlCommand("delete from product_detail where Product_Id = @Product_Id", con);