Je n'ai pas réussi à trouver un moyen de manipuler les propriétés de BoundField ou de TemplateField en fonction des données de DetailView. Bendewey supposait que je me liais à un objet métier alors qu'en fait je traitais les données directement dans ce cas - je m'excuse de ne pas l'avoir dit clairement.
Ma solution dans le code était derrière les suivantes:
protected void DetailsView1_DataBound(object sender, EventArgs e)
{
DetailsView dv = (DetailsView)sender;
if (dv.DataItemCount > 0)
{
DataRowView data = (DataRowView)dv.DataItem;
bool isFixed = (bool)data["IsFixed"];
if (isFixed)
{
dv.Rows[2].Enabled = false;
dv.Rows[6].Enabled = false;
}
}
}
j'étais déçu que je devais faire référence aux lignes que je voulais désactiver par index. Il est possible qu'il existe un moyen de référencer ces lignes par leur champ de données sans parcourir toutes les lignes, mais je ne l'ai pas trouvé au premier coup d'œil.
Merci pour l'aide!