Gjør en total rad i smidig plattform

Jeg gjorde nylig litt arbeid med OutSystems Agile Platform der en kunde ønsket at et bord skulle ha en "Total" -rad. Dette er en vanlig forespørsel, men det er ikke åpenbart hvordan du gjør det. TableRecords-widgeten støtter en topptekstrekke, men ikke en bunntekstrad, og RecordList-objektene som den fungerer med forstår ikke begrepet samlede data, dessverre. Den gode nyheten er at det ikke er vanskelig å sette sammen en bunntekstrad og bruke den i tabellen.

I mitt første forsøk prøvde jeg å gjøre dette med widgeten ListRecords. Før widgeten ListRecords satte jeg inn uttrykk der "Escape Content" var satt til "No" og de hadde HTML for å starte og avslutte en tabell og sette inn overskriftsraden. Deretter, i ListRecords-widgeten, brukte jeg flere ubeskyttede uttrykk for å legge til tr og td-kodene rundt Uttrykk for å vise dataene. Dette virket som en levedyktig tilnærming, men det fungerte ikke bra. Når ListRecords er blitt behandlet, spionerer det ut mange spennkoder som fullstendig bryter tabellen.

Min neste tilnærming var mye mer vellykket. Jeg opprettet en ny struktur som inneholdt et attributt av typen Boolean kalt "IsTotalRow" og et annet attributt av typen Record, med en type enhet som jeg prøvde å vise. I dette tilfellet la jeg også til et annet attributt kalt "RowTotal" for totalt radens verdier.

Neste, i skjermforberedelsen, gjorde jeg mitt vanlige spørsmål. Jeg la også til en midlertidig verdi av den nye strukturtypen, en "TotalRow" -variabel av samme type, og en annen variabel som en RecordList av den nye strukturtypen. Etter spørsmålet brukte jeg en ForEach for å iterere over resultatene. På hver iterasjon satte jeg den midlertidige variabelen sin dataregisterverdi til den gjeldende verdien fra spørringen og satte "IsTotalRow" til "Falsk." Jeg la også gjeldende verdier til TotalRow-variabelen, og ga den midlertidige variabelen "RowTotal" den riktige verdien. Etter at iterasjonen var ferdig, la jeg opp RowTotal for TotalRow-objektet, satte IsTotalRow til "True" og la den til RecordList.

På UI-siden av tingene bundet jeg en TableRecords-widget til RecordList jeg hadde opprettet og la kolonnene mine. Det eneste virkelige trikset var stylingen. For å gjøre Total rad virkelig skiller seg ut, ønsket jeg at den skulle ha en annen farge - en mørkegrå bakgrunn med fet, hvit tekst. For å få dette til, valgte jeg raden og i Utvidede egenskaper opprettet jeg en som heter "stil" og satte verdien til en If som sjekket om den nåværende radens IsTotalRow-verdi var sann. Hvis det var det, ville det levere CSS for å style raden slik jeg ønsket; Ellers vil det bare sende ut en tom streng.

Voila! Jeg hadde en totalrekke. I dette prosjektet tok det mye tid å lage en Total-rad fordi det var et eksisterende bord med en zillion kolonner og mye manuelle beregninger som skjedde under panseret. For et nytt prosjekt med grunnleggende databehov, bør denne oppgaven bare ta noen minutter.

J.Ja

Hold dine tekniske ferdigheter oppdatert ved å registrere deg på TechRepublics gratis nyhetsbrev om Software Engineer, levert hver tirsdag.

Les de andre TechRepublic-innleggene mine om Agile Platform

  • Lage en flytende layout for et Agile Platform-tema
  • Lage et påloggingssystem for OutSystems Agile Platform
  • Genererer unike strenger i smidig plattform
  • Livssyklusen min i smidig plattform
  • Skriv en avansert Excel-dataimport med Agile Platform
  • Gjør utvidelser i Agile Platforms Integration Studio
  • Importere eksisterende databaseskjemaer som Agile Platform-enheter

© Copyright 2021 | pepebotifarra.com