Test of een tekenreeks begint met een andere tekenreeks.

Beschrijving

De functie StartsWith test of een tekenreeks begint met een andere tekenreeks. De test is niet hoofdlettergevoelig. De resulterende waarde is de Booleaanse waarde true of false.

Gebruik StartsWith met de functie Filter om te zoeken naar de gegevens in uw app. U kunt ook de operator in of de functie Search gebruiken om ergens in tekenreeksen te zoeken, niet alleen aan het begin. Uw keuze van functies is afhankelijk van de behoeften van uw app en de functie die kan worden gedelegeerd voor uw specifieke gegevensbron. Als een van deze functies kan niet worden gedelegeerd, wordt er tijdens het ontwerpen een blauwe stip weergegeven om u te waarschuwen over deze beperking.

Syntaxis

StartsWith( Text, StartText )

  • Text – vereist. De tekst die moet worden getest.
  • StartText - vereist. De tekst waarnaar moet worden gezocht aan het begin van Text. Als StartText een lege tekenreeks is, geeft StartsWith de uitkomst true.

Voorbeelden

Formule Beschrijving Resultaat
StartsWith ("Hallo wereld", "hallo") Test of "Hallo wereld" begint met "hallo". De test is niet hoofdlettergevoelig. true
StartsWith( "Tot ziens", "hallo" ) Test of "Tot ziens" begint met "hallo". false
StartsWith("Zeg altijd hallo", "hallo") Test of "Zeg altijd hallo" begint met "hallo". Hoewel "hallo" deel uitmaakt van de tekst, staat het niet aan het begin. false

Gebruikerservaring met betrekking tot zoeken

In veel apps kunt u een of meer tekens in een zoekvak typen om een lijst met records in een grote gegevensset te filteren. Terwijl u typt, geeft de lijst alleen die records weer die overeenkomen met de zoekcriteria.

De voorbeelden in de rest van dit onderwerp tonen de resultaten van het doorzoeken van de lijst genaamd Klanten die deze gegevens bevat:

Maak een besturingselement Knop en stel de eigenschap OnSelect ervan in op de volgende formule om deze gegevensbron als een verzameling te maken:

ClearCollect( Klanten, Table( { Naam: "Fred Garcia", Bedrijf: "Northwind Traders" }, { Naam: "Cole Miller", Bedrijf: "Contoso" }, { Naam: "Glenda Johnson", Bedrijf: "Contoso" }, { Naam: "Mike Collins", Bedrijf: "Adventure Works" }, { Naam: "Colleen Jones", Bedrijf: "Adventure Works" } ) )

Net als in dit voorbeeld kunt u een lijst met records in een galeriebesturingselement onder aan het scherm maken. U kunt aan de bovenkant van het scherm een besturingselement Tekstinvoer met de naam Zoekinvoer toevoegen, zodat gebruikers kunnen opgeven in welke records ze geïnteresseerd zijn.

Wanneer de gebruiker tekens in Zoekinvoer typt, worden de resultaten in de galerie automatisch gefilterd. In dit geval is de galerie geconfigureerd om records weer te geven waarin de naam van de klant (niet de naam van het bedrijf) begint met de reeks tekens in Zoekinvoer. Als de gebruiker co typt in het zoekvak, toont de galerie deze resultaten:

U kunt filteren op basis van de kolom Naam door de eigenschap Items in het galeriebesturingselement op een van deze formules in te stellen:

Formule Beschrijving Resultaat
Filter( Klanten, StartsWith( Naam, SearchInput.Text ) ) Filtert de gegevensbron Klanten voor records waarin de zoektekenreeks aan het begin van de kolom Naam wordt weergegeven. De test is niet hoofdlettergevoelig. Als de gebruiker co in het zoekvak typt, toont de galerie Colleen Jones en Cole Miller. De galerie toont Mike Collins niet omdat de kolom Naam voor die record niet met de tekenreeks begint.
Filter( Klanten, Zoekinvoer.Text in Naam ) Filtert de gegevensbron Klanten voor records waarin de zoektekenreeks op een willekeurige plaats in de kolom Naam wordt weergegeven. De test is niet hoofdlettergevoelig. Als de gebruiker co in het zoekvak typt, toont de galerie Colleen Jones, Cole Miller en Mike Collins omdat de zoektekenreeks op een willekeurige plaats in de kolom Naam van al deze records verschijnt.
Search( Klanten, SearchInput.Text, "Naam" ) De functie Search zoekt, net als de operator in, naar een overeenkomst op een willekeurige plaats in de kolom Naam voor elke record. Houd er rekening mee dat u de naam van de kolom tussen dubbele aanhalingstekens moet plaatsen.

U kunt uw zoekopdracht uitbreiden om de kolom Bedrijf naast de kolom Naam op te nemen:

Formule Beschrijving Resultaat
Filter( Klanten, StartsWith( Naam, SearchInput.Text ) || StartsWith( Bedrijf, SearchInput.Text ) ) Filtert de gegevensbron Klanten op records waarin ofwel de kolom Naam ofwel de kolom Bedrijf met de zoektekenreeks (bijvoorbeeld co) begint. De operator || is true als een van beide StartsWith-functies true is.
Filter( Klanten, SearchInput.Text in Naam || SearchInput.Text in Bedrijf ) Filtert de gegevensbron Klanten op records waarin ofwel de kolom Naam ofwel de kolom Bedrijf de zoektekenreeks (bijvoorbeeld co) op een willekeurige positie bevat.
Search( Klanten, SearchInput.Text, "Naam", "Bedrijf" ) Net als de operator in zoekt de functie Search in de gegevensbron Klanten naar records waarin ofwel de kolom Naam ofwel de kolom Bedrijf de zoektekenreeks (bijvoorbeeld co) op een willekeurige plaats bevat. De functie Search is eenvoudiger te lezen en te schrijven dan Filter als u meerdere kolommen en meerdere in-operators wilt opgeven. Houd er rekening mee dat u de namen van de kolommen tussen dubbele aanhalingstekens moet plaatsen.