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 ;-)
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




Stampa
Download 
10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!