Domanda

Ho un numero di tabelle con molte colonne con cui sto utilizzando Dynamic Data. Voglio solo mostrare un piccolo sottoinsieme delle colonne.

Attualmente, quando Dynamic Data impegna una tabella, crea tutte le colonne a meno che non imposti [ScaffoldColumn (false)] su false. Funziona ma, poiché desidero solo visualizzare un piccolo sottoinsieme delle colonne, sarebbe più semplice attivarle anziché disattivarle.

Esiste un modo per modificare il comportamento predefinito in modo che una colonna non sia impalcata a meno che non glielo dica?

È stato utile?

Soluzione

Non conosco un modo per farlo immediatamente. Tuttavia, puoi creare il tuo attributo personalizzato per farlo.

Ecco alcuni esempi su come creare un attributo personalizzato per controllare il funzionamento di DD:

http: //csharpbits.notaclue .net / 2009/04 / hiding-foreign-key-column-globally-in.html - Esempio di creazione di un attributo per nascondere la colonna di chiave esterna per tutte le tabelle.

http: //csharpbits.notaclue .net / 2008/10 / dynamic-data-hiding-column-in-selected.html - Esempio di un altro attributo per nascondere una colonna ma applicato a livello di pagina.

Vedo il primo in cui è definito a livello di tavolo, forse la tua scommessa migliore. È possibile creare il proprio attributo dire HideFieldsByDefault e impostarlo su true.

Quindi aggiungere i campi che si desidera vengano visualizzati con ScaffoldColumn su true e nel codice per il metodo GenerateFields di IAutoFieldGenerator si cercherà quindi l'attributo e il codice personalizzati di conseguenza e se l'attributo non era loro, allora si sarebbe usa semplicemente il modo DD predefinito.

Potresti anche essere in grado di farlo con il tuo provider di metadati:

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

Su questo, non sono sicuro di come potresti farlo con un fornitore personalizzato, ma forse una piccola ricerca lo rivelerà come una buona opzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top