Мне не удалось найти способ манипулирования свойствами BoundField или TemplateField, декларативно основанный на данных DetailView.
Бендевей очень доброжелательно предположил, что я привязывался к бизнес-объекту, когда на самом деле я имею дело с данными непосредственно в этом случае - извиняюсь за то, что не разъяснил это.
Мое решение в коде было следующим:
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;
}
}
}
Я был разочарован тем, что мне пришлось ссылаться на строки, которые я хотел отключить, по индексу. Возможно, есть способ ссылки на эти строки по их полю данных без перебора всех строк, но я не смог найти его на первый взгляд.
Спасибо за помощь!