prova a fare il bind dopo che setti la visibilità.

listaProdotti.DataSource = dv;

//Nascondo le colonne che non serve vengano visualizzate
listaProdotti.Columns[0].Visible = false;
listaProdotti.DataBind();