Oggi Andrea "pota pota" ha fatto una domanda molto interessante nel forum riguardo ad un problema che non avevo ancora incontrato. GridView, DetailsView, FormView danno la possibilità di auto generare i fields da mostrare in funzione della sorgente dati, ma nell'esempio portato caricava una classe contenente dei membri nullabili (Nullable types), caratteristica introdotta in .NET 2 poiché si basa sulla struttura Nullable
I controlli si appoggiano a TypeDescriptor.GetProperties per ottenere le proprietà di un tipo (che implementa eventualmente ICustomTypeDescriptor) e le filtra interrogando il metodo IsBindableType. Questo fa sì che vengano scartati membri diversi dai tipi primitivi, date o stringhe. Purtroppo il Type di un membro nullabile è Nullable generico e non il tipo di valore che si sta rendendo nullabile.
Fortunamente il metodo è sovrascrivibile e si può fargli digerire anche i nullable types:
public class MyGridView : GridView { public override bool IsBindableType(Type type) { return !(!base.IsBindableType(type) && !type.IsGenericType); } }
Spero possa esservi utile in futuro ;-)
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Silverlight e versioni CLR, il 28 agosto 2007 alle 13:49
- Intercettare il reciclo di un'applicazione ASP.NET, il 25 settembre 2006 alle 22:42
- User e custom controls, WebParts, il 15 giugno 2006 alle 20:52
- Capitolo 10 tutto su ObjectDataSource, il 6 giugno 2006 alle 23:03
- ASP.NET 2.0 per tutti: capitolo 9 pronto, il 28 maggio 2006 alle 22:55
- Gestione dei Threads in ASP.NET, il 19 aprile 2006 alle 21:36