Как установить [ScaffoldColumn (false)] в качестве значения по умолчанию для динамических данных?

StackOverflow https://stackoverflow.com/questions/1440272

  •  10-07-2019
  •  | 
  •  

Вопрос

У меня есть несколько таблиц с большим количеством столбцов, с которыми я использую динамические данные. Я хочу показать только небольшое подмножество столбцов.

В настоящее время, когда Dynamic Data создает таблицу, он создает все столбцы, если я не установил для [ScaffoldColumn (false)] значение false. Это работает, но так как я хочу отображать только небольшое подмножество столбцов, было бы легче включить их, а не выключать.

Есть ли способ изменить поведение по умолчанию, чтобы столбец не создавался в скаффолде, если я не сообщу об этом?

Это было полезно?

Решение

Я не знаю, как сделать это из коробки. Однако вы можете создать свой собственный атрибут для этого.

Вот несколько примеров того, как создать пользовательский атрибут для управления работой DD:

http: //csharpbits.notaclue .net / 2009/04 / hiding-foreign-key-column-globally-in.html - Пример создания атрибута для скрытия столбца внешнего ключа для всех таблиц.

http: //csharpbits.notaclue .net / 2008/10 / dynamic-data-hiding-columns-in-selected.html - образец другого атрибута для скрытия столбца, но применяемый на уровне страницы.

Я вижу первый вариант, где он определен на уровне таблицы, возможно, ваш лучший выбор. Вы можете создать свой собственный атрибут скажем HideFieldsByDefault и установить его в значение true.

Затем вы добавили бы свои поля, которые вы хотите отобразить с помощью ScaffoldColumn, в true, а в коде для метода GenerateFields объекта IAutoFieldGenerator вы бы тогда соответствующим образом искали свой пользовательский атрибут и код, а если бы ваш атрибут не был их, тогда вы бы сделали это. просто используйте способ DD по умолчанию.

Вы также можете сделать это с вашим собственным поставщиком метаданных:

http://mattberseth.com/blog/2008/08/dynamic_data_and_custom_metada.html

В этом вопросе я точно не знаю, как вы могли бы сделать это с обычным поставщиком, но, возможно, небольшое исследование покажет, что это хороший вариант.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top