Your binding has issue where you are binding ddlTeam, first of all select only columns that are needed to bind with ddlTeam do not select all columns using * and then you have specify valuemember and text member for dllTeam that which column to use for value and which for display text of dllTeam, try something like:
query = "select Team_ID,Team_Name from OA_PlayerBat where Team_ID ='" + ddTeam.SelectedValue+ "'";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
ddTeam.DataSource = ds;
ddTeam.DataValueField = "Team_ID";
ddTeam.DataTextField = "Team_Name";
ddTeam.DataBind();
and then in bindgrid() you can use SelectedVlaue directly:
teamID = Convert.ToInt32(ddTeam.SelectedItem.Value);
cmd.Parameters.AddWithValue("@teamId",teamID);