PDA

View Full Version : Dynamic Text with scroll bars on a form?


ABC123

Neil Hucker
03-20-2005, 09:39 PM
Hello everyone,
I have a reasonably easy question (for anyone with the answer). I am building a form where I would like to be able to display a dynamic summary of information that I've collected from some Xdialog boxes (it's a submission form). Basically what I'm trying to do is display some dynamic text with a scroll bar - very much like a list box. The only differnce is, I don't want to be able to make a selection in this box (no highlights), but I do still want to be able to use the scroll bar.
At the moment I collect some info from a user through an Xdialog box and put it into an array, which is then dumped into a CRLF delimited string variable (where I add some lines and formattiing) and then I feed it into the list box choices variable. So far, the box displays everything I want, but it allows selections which I don't want. If I make it a read only and no Tab stop control, for some reason the Scroll bar becomes in active.
I need to be able to scroll because the size of the array which collects the information from the Xdialog box is extremely variable (1 to 50 lines) depending on how many submissions are being made (The array collects names). I've also looked at just using a normal text box attached to a variable, but it doesn't seem that you can attach any scroll bars to it.

Incidentally does anyone know if you can view or edit the underlying Xbasic to a form. I've noticed when a form is first created using the Genie you have the option of viewing the Xbasic, but then this option doesn't seem to be available ever again afterwards? Although the selection isn't an overall problem (it doesn't affect anything), it does give the user a false expectation that something may happen if they happen to select one of the options.
By the way I'm using Version 5.

If anyone can answer my seemingly simple question, I am entirely grateful.

Tom Cone Jr
03-20-2005, 11:35 PM
Neil,

If it were me I'd use a memo field in my table structure, and populate it dynamically from the submission inputs. The memo field will be displayed in a rich text field object by default when you drop it on the form. This is scrollable.

There are special rules you should follow, especially in a networked multi-user setting, when doing data entry with memo fields. Dr. Wayne's article "Memos and Browses that Work" at www.learnalpha.com is required reading, in my opinion.

The xbasic that opens a form is viewable, and editable. It's not in the form. It's in the button, tool, or menu choice that opens the form.

-- tom

Neil Hucker
03-21-2005, 02:04 PM
Thanks for your suggestion of the memo field Tom. Unfortunately it will probably not actually be applicable to the situation. Although it does give me ideas for other parts of the project. Can the contents of a memo field be treated as a CRLF delimited string (I really haven't played with memo fields at all)?

I don't think I can use the suggestion in this case, firstly because the multiple entries in the single string are actually for individual records and not one singular record. I'm trying to display this for the users convenience so they can see what they've entered so far, rather than for actual storage. The actual information I intend to store in the records is kept in the original array variable from the Xdialog box.
Secondly I'm trying to keep the users entries in variables until they actually push a save button on the form. The reason I'm doing this is because some of the information will be entered in records on other tables that the form is not based on as well as the set that it is based on. If I save those records upon each entry then deleting all the correct records from those external tables would be an extra step to implement should the user decide to cancel half way through their data entry. If the user cancel's then I don't want anything entered any where.
I'm checking out Dr Wayne's "Memo and Browses That Work" as we speak / type, thankyou for the tip.

Neil Hucker
03-21-2005, 02:05 PM
Thanks for your suggestion of the memo field Tom. Unfortunately it will probably not actually be applicable to the situation. Although it does give me ideas for other parts of the project. Can the contents of a memo field be treated as a CRLF delimited string (I really haven't played with memo fields at all)?

I don't think I can use the suggestion in this case, firstly because the multiple entries in the single string are actually for individual records and not one singular record. I'm trying to display this for the users convenience so they can see what they've entered so far, rather than for actual storage. The actual information I intend to store in the records is kept in the original array variable from the Xdialog box.
Secondly I'm trying to keep the users entries in variables until they actually push a save button on the form. The reason I'm doing this is because some of the information will be entered in records on other tables that the form is not based on as well as the set that it is based on. If I save those records upon each entry then deleting all the correct records from those external tables would be an extra step to implement should the user decide to cancel half way through their data entry. If the user cancels then I don't want anything entered any where.
I'm checking out Dr Wayne's "Memo and Browses That Work" as we speak / type, thankyou for the tip.

Tom Cone Jr
03-22-2005, 03:00 AM
Ok,

Try using an RTF object on the form. Base it on a layout level variable. "Set" the text in the RTF object using the inputs from the xdialogs. Remember to concatenate new text with the existing each time you send new text to the object.

-- t