AsType és IsType függvény
A következőkre vonatkozik: Vászonalapú alkalmazások
Modellvezérelt alkalmazások
Power Pages
Power Platform CLI
Ellenőrzi, hogy egy rekordhivatkozás egy adott táblázattípusra (IsType) vonatkozik-e, és a hivatkozást egy adott típusként (AsType) kezeli.
Feljegyzés
A PAC CLI PAC POWER-FX parancsok nem támogatják az IsType típust .
Description
Részletesebb áttekintés és további információ a Bejegyzések és polimorf keresések című cikkben található.
A keresőmező általában egy adott táblázat rekordjaira vonatkozik. Mivel a táblázat típusa jól meghatározott, a keresés mezőit egyszerű pontjelöléssel érheti el. Például a First( Accounts ).'Primary Contact'.'Full Name' a Fiókok táblázatból a Kapcsolatok táblázat Elsődleges kapcsolat rekordjába lép, és kivonja a Teljes név mezőt.
A Microsoft Dataverse támogatja a polimorf keresőmezőket is, amelyek több táblázat rekordjaira is hivatkozhatnak, mint ahogy az a következő példákban látható.
Keresőmező | A következőre hivatkozhat |
---|---|
Tulajdonos | Felhasználók vagy Csoportok |
Ügyfél | Partnerek vagy Kapcsolattartók |
Kapcsolódó elemek | Partnerek, Kapcsolattartók, Tudásbáziscikkek, stb. |
A vászonalapú alkalmazás képletekben használjon rekordhivatkozásokat a polimorf keresések kezeléséhez. Mivel egy rekordhivatkozás különböző táblázatokra hivatkozhat, nem tudhatja, hogy mely mezők lesznek elérhetőek, amikor képletet ír. A Record.Field jelölés nem áll rendelkezésre. A képleteknek igazodniuk kell azokhoz a rekordokhoz, amelyekkel az alkalmazás a futás során találkozik.
Az IsType függvény azt vizsgálja, hogy egy rekordhivatkozás egy adott táblázattípusra vonatkozik-e. A függvény a TRUE vagy a FALSE logikai értéket adja vissza.
Az AsType függvény egy rekordhivatkozást egy adott táblázattípusként kezel, amit néha casting-nak neveznek. Az eredményt úgy használhatja, mintha a táblázat egy rekordja lenne, és ismét a Record.Field jelölést használhatja a rekord összes mezőjének eléréséhez. Ha a hivatkozás nem az adott típusú, hiba történik.
Használja ezeket a függvényeket együtt, hogy először tesztelje egy rekord táblázattípusát, majd az adott típusú rekordként kezelje, hogy a mezők rendelkezésre álljanak:
If( IsType( First( Accounts ).Owner, Users ),
AsType( First( Accounts ).Owner, Users ).'Full Name',
AsType( First( Accounts ).Owner, Teams ).'Team Name'
)
Ezekre a függvényekre csak akkor van szükség, ha egy rekordhivatkozás mezőihez szeretne hozzáférni. A Filter függvény rekordhivatkozásai például az IsType vagy az AsType nélkül is használhatók:
Filter( Accounts, Owner = First( Users ) )
Hasonlóképpen, a rekordhivatkozások a Patch függvénnyel is használhatók:
Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )
Ha rekordkörnyezetben, például egy Galéria vagy Űrlapszerkesztés vezérlőn belül használja, akkor előfordulhat, hogy a globális egyértelműsítő operátorral kell hivatkoznia a táblázat típusára. Ez a képlet például olyan katalógussal lesz hatékony, amely a kapcsolattartók listáját jeleníti meg, ahol a Vállalat neve egy Ügyfél keresése:
If( IsType( ThisItem.'Company Name', Accounts ),
AsType( ThisItem.'Company Name', Accounts ).'Account Name',
AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Mindkét függvény esetében a típust a táblázathoz kapcsolódó adatforrás nevén keresztül adja meg. A képlet akkor működik, ha hozzáad egy adatforrást az alkalmazáshoz minden olyan típus esetén, amellyel a tesztet vagy típuskonverziót szeretne végezni. Például hozzá kell adnia a Felhasználók táblázatot adatforrásként, ha az IsType és AsType függvényt a Tulajdonos kereséssel és a táblázat rekordjaival szeretné használni. Csak azokat az adatforrásokat adhatja hozzá, amelyeket ténylegesen használ az alkalmazásban; nem kell hozzáadnia az összes olyan táblázatot, amelyre egy keresés hivatkozhat.
Ha a rekordhivatkozás üres, az IsType a FALSE értéket adja vissza, az AsType pedig üres értéket ad. Az üres rekordok összes mezője üres.
Szintaxis
AsType( RecordReference, TableType )
- RecordReference – kötelező. Egy rekordhivatkozás, gyakran egy keresőmező, amely több táblázat bármelyikében lévő rekordra hivatkozhat.
- TableType – kötelező. Az adott táblázat, amelybe a rekordot át kell adni.
IsType( RecordReference, TableType )
- RecordReference – kötelező. Egy rekordhivatkozás, gyakran egy keresőmező, amely több táblázat bármelyikében lévő rekordra hivatkozhat.
- TableType – kötelező. Az adott táblázat, amelyre a tesztelés vonatkozik.
Példa
A Bejegyzések és polimorf keresések cikk részletes példákat tartalmaz.
Hozzon létre egy üres vászonalapú alkalmazást táblagépekhez.
A bal oldali sávban válassza az Adatok>Adatok hozzáadása lehetőséget. Ezután adja hozzá a Fiókok és a Kapcsolatok táblázatokat.
A bal oldali sávban válassza a + (Beszúrás) >Elrendezés>Üres függőleges galéria lehetőséget.
Válassza a Csatlakozás adatokhoz, majd válassza a Kapcsolatok adatforrást.
Állítsa a katalógus elrendezését Cím és alcím értékre.
Az Adatok panelen nyissa meg a Cím1 listát, majd válassza a Teljes név lehetőséget.
Jelölje ki az Alcím1 címkevezérlőt.
Állítsa az Alcím1 Szöveg tulajdonságát a következő képletre:
If( IsBlank( ThisItem.'Company Name' ), "--", IsType( ThisItem.'Company Name', Accounts ), "Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name', "Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name' )
A katalógus felirata a következő értékeket jeleníti meg:
- „--”, ha a 'Cégnév' üres.
- „Fiók:”, majd a Fiókok táblázatból a Fiók neve mezőt, ha a Cég neve mező egy fiókra hivatkozik.
- „Kapcsolat:”, majd a Kapcsolatok táblázatból a Teljes név mezőt, ha a Cég neve mező egy kapcsolatra hivatkozik.
Az eredmények eltérhetnek az ebben a témakörben szereplőktől, mivel itt módosított mintaadatokat használtunk, hogy további eredménytípusok jelenjenek meg.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: