In VB.NET esiste la funzione IIf(ByVal Expression As Boolean, ByVal TruePart As Object, ByVal FalsePart As Object) As Object che permette di ritornare un valore di tipo Object in base alla valutazione di una espressione booleana passata come parametro. La funzione si comporta in maniera simile al costrutto If...Then...Else...
Combinando l'uso della funzione IIf e con quello della funzione Ctype (utile per fare i cast tra i tipi), è possibile ottenere alcuni risultati interessanti e assai utili in taluni contesti. Uno di questi è la fase di rendering di controlli web soggetti al DataBinding quali la DataGrid.
Nel caso in cui si voglia per esempio troncare una stringa contenuta all'interno di una cella di una DataGrid per motivi di leggibilità e/o per mancanza di spazio, si può evitare di ricorrere all'event handler ItemDataBound nel code behind e gestire il troncamento direttamente all'interno della pagina, come mostrato nel codice di esempio riportato di seguito.
<asp:DataGrid ID="dgrSample" Runat="server" AutoGenerateColumns="False">
<Columns>
[...]
<asp:TemplateColumn>
<ItemTemplate>
<%# CType(Iff(Len(Container.DataItem("Field")) > 20, Left(Container.DataItem("Field"), 20) & "...", Container.DataItem("Field")), String)%>
</ItemTemplate>
</asp:TemplateColumn>
[...]
</Columns>
</asp:DataGrid>In C# l'equivalente della funzione IIf è l'operatore condizionale ?: (Expression ? TruePart : FalsePart).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Permettere il Drag-and-drop solo su zone predefinite con Silverlight 2.0
- Consumare dati binari in realtime lato client con ASP.NET Core SignalR
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Personalizare l'icona e le funzionalità di un sito web per iOS e IE
- Caricamenti veloci da CDN e fallback locale con ASP.NET Core
- Utilizzare dati in formato XML in XAML
- Accedere a dati esposti con WebService con Silverlight 1.0


