Přidání vypočítaného vlastnosti
V této lekci jsme vám ukázali, jak přidat vypočítanou vlastnost k entitě dat v aplikaci LightSwitch.
Přidání počítané vlastnosti
Většina dat pro obchodní aplikace je uložena v databázi nebo jiném zdroji dat, ale pravděpodobně budete chtít uživatelům poskytnout další data.Jedním způsobem, jak to provést, je vypočítaná vlastnost, která poskytuje data na základě výpočtu.Data lze zobrazit na obrazovce, ale nejsou uložena v databázi.
Příkladem vypočítané vlastnosti je celkové množství objednávky, pro které napíšete kód pro sečtení částek položek na řádcích, daně a částky za přepravu.
Přidání vypočítané vlastnosti
V Průzkumníkovi řešení dvakrát klikněte na položku Objednávky.
V Návrháři dat klikněte na položku <Přidat vlastnost> a zadejte Objednávka celkem.
Ve sloupci Typ vyberte položku Peníze.
Všimněte si, že v okně Vlastnosti je vybrána vlastnost Je vypočteno.
V okně Vlastnosti klikněte na odkaz Upravit metodu.
Otevře se Editor kódu a v něm se zobrazí metoda OrderTotal_Compute.
V metodě OrderTotal_Compute přidejte následující kód.
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;
Když se zobrazí objednávka na obrazovce, spustí se tento kód a vypočítá množství objednávky.
Bližší pohled
V této lekci jste mohli vidět, jak přidat vypočítanou vlastnost k entitě pro výpočet hodnoty.Možná jste si všimli, že při přidání pole Objednávka celkem k entitě Objednávky, bylo pole označeno jako Povinné.V okně Vlastnosti byla také automaticky vybrána volba Je vypočteno.Vypočítaná pole pro subjekty z připojeného zdroje dat jsou vždy povinná i vypočtená.
V příkladu kódu je použita konstrukce For… Each pro vytvoření cyklu v rámci entity Detaily objednávky.U každé položky na řádku bude vynásoben kód pole Jednotková cena polem Množství a vynásobená celková hodnota bude uložena do proměnné výsledku.Konečný řádek kódu přidá hodnotu pole Dopravné k celkové sečtené částce.Tento kód by bylo možné zdokonalit tak, že zkontrolujete, zda pole Dopravné obsahuje hodnotu.Pokud je pole Dopravné prázdné, může nastat výjimka.
Vypočítané vlastnosti nemusí zahrnovat matematické výpočty.Vypočítanou vlastnost lze použít také k řetězení dvou řetězců.Pokud například vaše entita obsahuje pole Jméno a Příjmení, můžete vytvořit pole Celé jméno pro zobrazení obou jmen společně.V tomto případě by kód pro metodu FullName_Compute vypadal přibližně jako v následujícím příkladu.
result = FirstName & " " & LastName
result = FirstName + " " + LastName
Pro jméno Tomáš a příjmení Jelínek by se celé jméno zobrazilo na obrazovce jako Tomáš Jelínek.
Můžete také vytvořit vypočítanou vlastnost, která používá hodnoty dalších vypočítaných vlastností.Můžete například přidat vlastnost Daň k entitě Objednávky a poté napsat kód k výpočtu daně na základě procentuální hodnoty vypočtené vlastnosti Objednávka celkem.
Vypočítané vlastnosti také mají některá omezení.Nelze je použít v dotazu a koncoví uživatelé nemohou seřadit nebo prohledat vypočítaný sloupec.
Další kroky
V další lekci se dozvíte, jak vytvořit relace mezi entitami dat.
Další lekce: Definování relací
Viz také
Úkoly
Jak: Přidání vypočítaného pole