07. januar 2004 - 13:10Der er
21 kommentarer og 1 løsning
Ryd værdi i dialog list
Jeg har to felter af typen dialog list - begge felter henter nogle keywords ind. Jeg kunne godt tænke mig, at når jeg skifter værdi i den ene dialog list, ryddes den anden, så den er blank. Men hvordan gør jeg det?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Så må du gøre liste2's indhold afhængig af liste1's.
Samtidigt skal du huske på feltet med liste1 at krydse af "Refresh fields on keyword change". Og på liste2 at afkrydse "Refresh choises on document refresh".
Begge disse sættes på andet faneblad i feltets properties box
Jeg har sat kryds i "Refresh fields on keyword change" og i "Refresh choises on document refresh". Men hvad gør jeg for, at i det øjeblik jeg skrifter værdi i liste1 ryddes liste2?
Og jo, men de bliver hentet automatisk ved refresh, ud fra hvad man har valgt i felt1. Der må bare ikke være valgt noget i felt2, for så står det også i listen, når man vil skifte. Dvs. det der står i feltet skal slettes, når man vælger en værdi i felt1.
mmmtm> Det duer desværre ikke - så kan man ikke skifte værdi i felt2 - den forsvinder igen så snart man skifter. Felt2 skal også kun ryddes, når der skiftes værdi i felt1 - ellers ikke.
Her kommer en simpel @løsning: Du har brug for et monitor-felt placeret efter Felt2. Jeg plejer at kalde dem "monFelt1". Feltet er CFD (eller BTV på dansk) og skal blot vise indholdet fra Felt1. I Felt2 InputTranslation placerer du koden @If( Felt1 = monFelt1; Felt2; "")
Der er andre muligheder, som involverer LS og diverse forskellige hændelser, men prøv denne først.
Husk at have "Refresh fields on keyword change" sat på Felt1. Her du brug for at ændre valglisten i Felt2 (afhængig af indholdet i Felt1)?
ComputedForDisplay BeregnetTilVisning (eller hvordan man vælger at oversætte)
Ideen med at have et monitor-felt er at Notes beregner felter lineær fra venstre oven mod højre bunden af en formular. Hvis Felt1 er til venstre/over for Felt2, og monFelt1 er til højre/under Felt2, så vil indholdet i Felt1 og monFelt1 være forskellig i det øjeblik at Felt2 udfører sine beregninger.
Ok, nu har jeg så prøvet at lave det med 3 felter istedet for 2:
Felt1 Felt2 monFelt1 Felt3 monFelt2
Hvis jeg vælger en værdi i alle tre felter og bagefter skifter værdi i Felt1, er det kun Felt2 der ryddes - her skal Felt3 også ryddes. Kan du hjælpe med det? Har lige fordoblet points...
-thomas-: Field felt2 := felt2; @setField("felt2";""); i postrecalc - gør altså det du vil have. Du skal bare ikke have "refresh fields on keyword change" på felt 2.
mmmtm> Jamen, den skal jo netop "refresh fields on keyword change" for at kunne opdatere, når man skifter keyword. Hvis jeg bruger din kode, forsvinder det jeg vælger i felt2 med det samme igen, pga. postrecalc-koden. :(
-thomas- "refresh fields on keyword change" skal du kun have på felt1. Det er jo valget i felt1, der bestemmer valgene i felt2. Så ryddes felt2 ikke ved nyt valg i felt2. Så det funker fint nok, BORTSET fra at jogii (som sædvanlig :-), har fuldstændig ret i at feltet vil ryddes ved tryk på <F9>, eller en senere recalc/refresh af dokumentet - så der er ingen tvivl om at monitormetoden er mere korrekt.
Jamen jeg har også brug for "refresh fields on keyword change" på felt2, da den opdaterer en række andre felter. Men ellers mange tak for hjælpen.
Synes godt om
Ny brugerNybegynder
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.