Avatar billede avest Nybegynder
10. december 2003 - 09:26 Der er 6 kommentarer

Dynamiske kolonneoverskrifter i views

Jeg vil gerne lave et fiew som viser budgettet for året plus de næste tre år.

2003 | 2004 | 2005 | 2006

Men allerede til januar er dette view forældet.

2004 | 2005 | 2006 | 2007

Hvordan kan jeg lave dynamiske overskifter




(Notes R5)
Avatar billede cdelicht Nybegynder
10. december 2003 - 09:35 #1
Interesant problem stilling!
Det korte svar: Det kan du ikke! (i std. Notes)
Det lange svar: eksporter designelementet som XML, modificer det og importer det igen.

Spørgsmål til avest: Hvorfor vil du automatisere dette når det er én gang om året???
Avatar billede jogii Nybegynder
10. december 2003 - 09:39 #2
Det er ikke nemt. Hvor mange oversigter drejer det sig om?
Umiddelbart er det ikke muligt at lave den slags. Det er også afhængig af om feltnavnene indeholder årstal eller om de er relative ("BudgetDetteÅr", "BudgetNæsteÅr", "BudgetOmToÅr" etc). Hvis det sidste er tilfældet, så skriver du blot i kolonnerne "I år", "Næste år", "Om to år" og ved årsskifte 31. december kører du en makro der flytter de relative værdier fra felt til felt.

Hvis du arbejder med felter der indeholder årstal og du har mange af dem, så har jeg svært ved at se hvordan du kan slippe nemt. Men hvis du har få oversigter, kan du lave oversigter som indeholder årstal i alias og på denne måde f.eks. forberede nogle år i forvejen. Den rigtige/aktuelle oversigt vises vha. en outline, hvor du programmerer et outline-element til f.eks. at pege på oversigten "Budget-" + @Text(@Year(@Today)). På denne måde skal du ikke lave noget ved årskiftet og kan forberede det hele i tide.

Det var nok ikke de svar du håbede på, men det er nogle gange det vi må ty til :-)

//Jörg
Avatar billede avest Nybegynder
10. december 2003 - 09:42 #3
Svar til cdelicht: Bare et letforståeligt eksempel.

Exporter til XML og importere, se der er jeg lidt på bar bund. Har dog leget med at danne dokumenter udfra en importeret XML fil, men intet med designelementer.
Avatar billede cdelicht Nybegynder
10. december 2003 - 10:12 #4
Det er nok ikke værd at arbejde med i R5. I ND6 indgår der parsere mv. til håndtering af XML, og med det kan du faktisk ændre ALT på et design element, f.eks. ændre et private view til public (boop boop ) !
Svaret på dit spørgsmål er derfor: Du kan ikke ændre selve titlen på en kolonne programmatisk i R5.
Jörg er inde på nogle muligheder for at omgå denne begrænsning, og problemstillinger i øvrigt ved dit ønske, men det kræver enten mere end et designelement, eller omgåelse via agenter osv.

Det nemmeste er nok at lave et nyt view, og lade det erstatte det oprindelige ved årsskiftet.
10. december 2003 - 12:20 #5
Du kan også vælge at lave det som en form i stedet for et view. I form'en laver du en tabel. Den øverste række vil så bestå af kolonneoverskrifter, hvor den første så kan laves som et Computed felt med koden @Year(@Today), osv. Herefter en række for hver punkt i budgettet (nu kender jeg ikke din organisation, men f.eks. en række for personale, en række for anlægsudgifter, osv.). Hver celle vil så indeholde et Computed felt med en DbLookup , der slår indeholdet op. Hvis der er for mange felter, så det bliver tungt, kan du lave det med en scheduleret agent, der fylder indholdet i felterne ud.
Form'en kan du så kalde fra f.eks. en outline med @Command([Compose]).
Avatar billede pr0gm4n Nybegynder
10. december 2003 - 17:57 #6
Opret dit view - dog uden kolonneoverskrifter.
Opret en form.
Indlejr viewet på formen og skriv overskrifterne så de passer direkte på formen. Benyt computed text til de kolonne der har årstal.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester