how to transfer text from clients in text area from one screen to another
Question

how do I allow clients to write something on one screen in a text area and have it added to a different screen?

Any help would be much appreciated.

Try this oml.

This is very basic programming in OutSystems. You should start learning from the courses.

TextVariable.oml

Hi Olamide,

What do you mean by "added to a different screen"?

It really depends on your use case. If it's a limited text, you can pass it via an input parameter to the target screen.

You can assign it to a Client Variable and use the variable in the target screen.

You can save it as a record in a local entity, and then query that record in the target entity.

I assume, in the end you will need to store it somewhere or send to an external system. If you want to store the data persistenly so that it can be reused for different purposes later, you can save it into database. Then you can get it from the DB on the target screen.


It is a text variable and I have created an entity and added the text variable to that entity but I don't know what to do from there

also what I mean by added to a different screen is when the text is written in the text area I want to have a submit button that when clicked it would add that text written by the client onto a different page in the app

Hi, I suggest you take a look at the documentation on saving records to an entity. This video can help as well.

Hi Olamide,

Check this .oml with an example:

  • create a client variable
  • assign to the client variable the text value in screen1
  • read the text from the client variable in screen2

Regards

TextVariable.oml

how do you create a client variable

I figured that out, thank you so much

The solution you gave me is not complete because It only adds one text to the next screen and it is not saved so when the next client adds something that previous text is deleted

so how do I make sure the text is saved 


Olamide, you didn't describe that scenario on your first post.

To save texts from different users, you need to save the data in the database. Create an entity to save the Text piece.

In Screen2 you can display the data from the table. All together, by rows, as you prefer...


I created an entity but how do I save the data to that entity ?

Try this oml.

This is very basic programming in OutSystems. You should start learning from the courses.

TextVariable.oml

It saves permanently now but after adding one text and submitting I cant add another again, is there any way to just keep adding texts 

and now it keeps showing this error "
An error was raised by the application: Violation of PRIMARY KEY constraint 'OSPRK_OSUSR_2MM_QUOTEANDAUTHOR'. Cannot insert duplicate key in object 'dbo.OSUSR_2MM_QUOTEANDAUTHOR'. The duplicate key value is (0). The statement has been terminated."

mvp_badge
MVP

Hello there Olamide,

Hope you're doing well.

Maybe it would be better if you share your OML so we can take a look on what you're trying to do.

Anyway, and like Jose stated before, I strongly suggest that you take a look in the online courses. I'm sure it will be very beneficial for you.


Kind regards,

Rui Barradas

thanks for the help, I was just wondering do you by any chance know how to make the text appear one piece at a time for a scheduled time, like daily because in the aggregate the text appears in a list form so I'm wondering if it is possible to display each text on the list at a scheduled time and loop it so when it displays the last text on the list it starts again from the first one.

I'm not sure about what with mean with your description.

Can you provide a mockup?

Screenshot20210828181116.png

Screenshot20210828181202.png

I already have an expression that displays it on a different page but it displays everything, so how do I make it display one at a time for a scheduled amount of time? 

You want to show 1 single record and after (i.e.) 10 seconds changes to another record?

Yes, that is exactly what I am trying to achieve.


Change the aggregate to retrieve only 1 random record:

https://www.outsystems.com/forums/discussion/26907/random-line-from-aggregate/

Use JS to create a timer to refresh the block that contains the text. Apply the logic described in the following topic refreshing only the block you want:

https://www.outsystems.com/forums/discussion/37440/how-to-refresh-the-screen-automatically-in-mobile-application/

I figured out how to retrieve only one random record but I cant seem to use the Javascript block because Its is not available in the options in server actions 

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.