Ga naar inhoud
  • 0

stukje tekst toevoegen op de cursor positie


Ivan Vaes

Vraag

wat een banale aanpassing leek, begint me nu danig te irriteren...

ik heb een applicatie waarin er in een groot tekstveld kleine, voor gedefiniëerde, stukjes tekst moeten toegevoegd worden. simpelweg klikken op een tekst aan de linkerkant, en die wordt dan toegevoegd aan het grote tekst blok aan de rechterkant. die stukjes tekst moesten steeds onderaan de tekst bijgeplaatst worden. geen probleem tot daar. maar nu moeten die stukjes tekst geplaatst worden op de cursorpositie in het grote tekstblok.

dit werkt perfect met de functie insert calculated result, maar ... enkel wanneer het knop betreft, en niet wanneer het in een script zit. Blijkbaar wordt er bij het triggeren van een script eerst automatisch een commit gedaan, en weg cursor positie dus...

ik dacht, niet erg ik vang eerst de cursor positie op in een variabele, en voeg daarna de tekst middels de left en middle function toe op de juiste plaats, maar ook dat werkt niet. en ondertussen ben ik er al anderhalf uur aan bezig. Als er iemand raad weet, laat maar komen,

alvast bedankt,

Ivan

Link naar reactie

8 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Dag Ivan,

 

Het is niet zo dat het triggeren van een script automatisch een commit veroorzaakt. Er moet wat anders loos zijn. Kan je je scriptje even posten? Als geruststelling: ik heb een applicatie waarin ik exact de techniek gebruik die jij beschrijft zonder problemen. In mijn geval sturen de verschillende knoppen telkens hetzelfde script aan met een andere parameter. In bijlage een voorbeeld.

5a758dc9ccbfb_Picture1.png.3947ecb1f64c47f5cda4ba6c9a9fa120.png

5a758dc9cee4b_Picture2.png.58bd798118c12ebcb90c32680023be87.png

Link naar reactie
  • 0

Je hebt toch niet bij de scriptstap "insert Calculated Result" het target field meegegeven? Anders plakt ie de tekst ook altijd weer onderaan.

 

Als je het target field dus niet meegeeft moet je er wel op letten dat de cursor in het goede veld staat natuurlijk want in principe zou je script dan te tekst in ieder willekeurig veld waar de cursor staat de tekst plakken. Je zou dat af kunnen vangen door eerst te controleren of het goede veld actief is. (bijv. get(ActiveFieldName) = Veldnaam).

 

Ik heb het niet met portalen geprobeerd maar verders werkt het prima hier.

 

Groet, Niels

Link naar reactie
  • 0

het probleem is inderdaad de portaal. Een knop die gewoon op de layout staat zorgt ervoor dat de cursor op zijn positie blijft staan. Een knop in een portaal echter zorgt niet voor een commit (bevestigen van data), maar zorgt er wel voor dat het veld niet langer geselecteerd is (en dat je dus je cursorpositie kwijt geraakt). Dit is iig waar ik gisteren ben tegenaan gelopen. alles werkt, tot je de knop in het portaal zet...

 

Ik denk dat je een andere denkpiste zal moeten inslaan, bijvoorbeeld eerst dmv waardelijst selecteren wat je wil invoegen, dan klikken waar je het wil invoegen en dan met knop invoegen. Maar ik noem dit zelf een alles behalve sexy oplossing...

 

Ik ben benieuwd naar andere oplossingen.

Link naar reactie
  • 0
Ik ben benieuwd naar andere oplossingen.

 

Misschien was mijn uitleg nogal cryptisch.

Probleem: we willen tekstfragmenten uit gelinkte tabel tonen maar via knoppen in portaal werkt het niet.

Oplossing: via knoppen rechtstreeks op de layout werkt het wel.

 

Werkwijze: bepaal het maximum aantal tekstfragmenten voor een bepaalde categorie, bv. 20.

Maak evenzo veel calc fields (zcBtn1...zcBtn20) (of één repeating field) en gebruik GetNthRecord ( 1 ... 20 ) om het betreffende gelinkte record op te halen.

Zet 20 buttons op de layout en gebruik als tekstlabel en als scriptparameter een (merge) field dat verwijst naar zcBtn 1...20.

 

Gevolg: het werkt net alsof de knoppen in een portal staan maar dat is niet het geval. Daarom is er geen probleem meer met de cursor. Je zet de cursor in de tekst en je klikt op de knop met het gewenste tekstfragment. Het tekstfragment staat meteen op de juiste plaats. Behoorlijk sexy toch? 8)

 

 

NB

1) Nadeel: als niet alle 20 knoppen nodig zijn, dan zie je lege knoppen op je layout (zoals op de screenshot). Maar tegenwoordig kunnen we daar met conditional formatting ook wat aan doen.

2) Het werkt niet als je eerst een waardelijst moet openklikken want dan verlies je de cursorpositie.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...