Condividi tramite


Aggiunta di una proprietà calcolata in un'applicazione LightSwitch

Questa lezione illustra come calcolare i dati usando una proprietà calcolata in un'applicazione LightSwitch.

Aggiunta di una proprietà calcolata

Gran parte delle applicazioni business è archiviata in un database in un'altra origine dati, ma è anche possibile usare una proprietà calcolata per fornire i dati basati su un calcolo. Tali dati possono essere visualizzati in una schermata senza essere archiviati in un database.

Ad esempio, il totale di un'ordine è una proprietà calcolata per la quale si scrive il codice che consente di sommare importi delle voci, imposte e spese di spedizione.

Per aggiungere una proprietà calcolata

  1. In Esplora soluzioni aprire il menu di scelta rapida per il nodo Orders.lsml, quindi scegliere Apri.

  2. Nella barra Prospettiva di Data Designer scegliere Server, quindi scegliere il collegamento <Aggiungi proprietà e infine immettere OrderTotal.

  3. Nella colonna Tipo scegliere Money.

    Nella finestra Proprietà la proprietà IsComputed è selezionata e viene aggiunto un collegamento Modifica metodo.

  4. Nella finestra Proprietà scegliere il collegamento Modifica metodo.

    Verrà visualizzato l'Editor di codice con il metodo OrderTotal_Compute.

  5. Nel metodo OrderTotal_Compute aggiungere il codice seguente:

    For Each Order_Detail In Order_Details
        result = result + (Order_Detail.UnitPrice * Order_Detail.Quantity)
    Next
    result = result + Freight
    
    foreach (Order_Detail od in Order_Details) {
    
        result = result += (od.UnitPrice * od.Quantity);
    }
    result = result + Freight.Value;
    

    Quando viene visualizzato un ordine in una schermata, verrà eseguito questo codice per calcolare il totale dell'ordine. Per una spiegazione del codice, vedere la sezione successiva.

Informazioni dettagliate

In questa lezione è stato illustrato come aggiungere una proprietà calcolata a un'entità per calcolare un valore. Probabilmente si è notato che quando è stato aggiunto il campo OrderTotal all'entità Orders, il campo è stato contrassegnato come obbligatorio. Nella finestra Proprietà è stata automaticamente attivata anche l'opzione IsComputed. I campi calcolati per le entità da un'origine dati allegata sono sempre obbligatori e calcolati.

Nell'esempio di codice viene usato un costrutto For… Each per riprodurre a ciclo continuo l'entità Order_Detail. Per ogni voce, il codice moltiplica il prezzo dell'articolo (campo UnitPrice) per il numero di articoli ordinati (campo Quantity) e quindi archivia il totale accumulato nella variabile result. La riga finale del codice aggiunge il valore delle spese di spedizione (campo Freight) al totale accumulato. È possibile migliorare il codice verificando se il campo Freight ha un valore. Così come è scritto al momento, il campo Freight potrebbe generare un'eccezione se lasciato vuoto dall'utente.

Non sempre le proprietà calcolate implicano calcoli matematici: è anche possibile usare una proprietà calcolata per concatenare due stringhe. Ad esempio, è possibile creare un campo FullName che consente di visualizzare assieme i campi FirstName e LastName. In questo caso, il codice per il metodo FullName_Compute avrebbe il seguente aspetto:

result = FirstName & " " & LastName
result = FirstName + " " + LastName

Per il FirstName "Howard" e il LastName "Snyder", il FullName apparirà sullo schermo come "Howard Snyder".

È anche possibile creare una proprietà calcolata che usi i valori di altre proprietà calcolate. Ad esempio, è possibile aggiungere la proprietà Tax all'entità Orders e quindi scrivere il codice per calcolare le imposte in base a una percentuale della proprietà OrderTotal calcolata.

Le proprietà calcolate presentano anche alcune limitazioni: non è possibile usarle in una query e gli utenti finali non possono ordinare o cercare una colonna calcolata.

Passaggi successivi

Nella lezione successiva verrà illustrato come creare relazioni tra entità di dati.

Lezione successiva: Definizione di relazioni in un'applicazione LightSwitch

Vedere anche

Attività

Procedura: aggiungere un campo calcolato in un database LightSwitch

Altre risorse

Uso dei dati in LightSwitch