Хмм, очевидно, это было так же просто, как установить для свойства EditItemTemplate
рассматриваемых полей значение null
. Кажется, до сих пор работает нормально!
Редактировать: пример короткого кода, показывающий, как я это сделал:
foreach (DataControlField field in dvDRDetails.Fields)
if (!fieldstoignore.Contains(field.HeaderText))
if (field is TemplateField)
((TemplateField)field).EditItemTemplate = null;
else if (field is BoundField)
((BoundField)field).ReadOnly = true;
Где fieldstoignore
- это массив заголовков полей, которые я всегда устанавливал как редактируемые. Остальные делятся на две категории: TemplateField
, которые требуют взлома, который я обсуждал выше, и BoundField
, у которого есть свойство ReadOnly
, которое я могу установить.