Creazione di colonne espressioni

È possibile definire un'espressione per una colonna per consentire che questa contenga un valore calcolato sulla base di altri valori di colonna nella stessa riga o sulla base di valori di colonna di più righe della tabella. Per definire l'espressione da valutare, usare la proprietà Expression della colonna di destinazione e la proprietà ColumnName per fare riferimento ad altre colonne nell'espressione. La proprietà DataType specificata per la colonna di espressioni deve essere adeguata per il valore restituito dall'espressione.

La tabella seguente indica diversi usi possibili delle colonne di espressioni in una tabella.

Tipo di espressione Esempio
Confronto "Totale >= 500"
Calcolo "UnitPrice * Quantity"
Aggregazione Sum(Price)

È possibile impostare la proprietà Expression in un oggetto DataColumn esistente oppure includere la proprietà come terzo argomento passato al DataColumn costruttore, come illustrato nell'esempio seguente.

workTable.Columns.Add("Total",Type.GetType("System.Double"))  
workTable.Columns.Add("SalesTax", Type.GetType("System.Double"), _  
  "Total * 0.086")  
workTable.Columns.Add("Total", typeof(Double));  
workTable.Columns.Add("SalesTax", typeof(Double), "Total * 0.086");  

Le espressioni possono fare riferimento ad altre colonne di espressioni. Viene tuttavia generata un'eccezione se è presente un riferimento circolare, ovvero quando due espressioni fanno riferimento l'una all'altra. Per le regole sulla scrittura di espressioni, vedere la Expression proprietà della classe DataColumn .

Vedi anche