Hi All
Just a pointer if possible.
I want to create a form with one page frame and an unknown number of pages.
Each page will be identical and editing one record out of a view.
How am I best managing the data in this instance?
Typically we would develop visually, add a view into the data environment and set control sources.
Could I make use of the data environment class?
Other ideas?
Thanks
Chris.
Chris Davis Acton Gate Systems Limited
Hilton Hall Business Centre Hilton Lane Essington West Midlands WV11 2BQ M: 07966 020473 *: chrisd@actongate.co.uk Webmailto:chrisd@actongate.co.uk%0bWeb: www.actongate.co.ukhttp://www.actongate.co.uk/
______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html ---
It's a bit unusual to want to have more than one record on separate pages. Do you plan to allow the user to edit more than one page at a time, or is it likely that the page tabs will be used as navigation, but really only one record is edited at a time?
Since you don't provide any more specifics, I'll make up my own to make my point :)
In an address book interface, the tabs are A through Zed as you'd say. when you click on "K" you'll want to see "K" entries. But in reality, you've really only got one form, one record pointer, and one record to edit. There's a bunch of different ways this can be be wired up behind the scenes so that the user believes there are many pages, but in fact only one data entry form. (Float the form in from of the pageframe, for example.) (By the same measure, many records can be simultaneously in edit mode with proper multiple record locks and table buffering, but I'm stretching the example.)
So, Chris, what is it you are trying to accomplish?
On Mon, Mar 7, 2016 at 9:33 AM, Chris Davis chrisd@actongate.co.uk wrote:
Hi All
Just a pointer if possible.
I want to create a form with one page frame and an unknown number of pages.
Each page will be identical and editing one record out of a view.
How am I best managing the data in this instance?
Typically we would develop visually, add a view into the data environment and set control sources.
Could I make use of the data environment class?
Other ideas?
Thanks
Chris.
Chris Davis Acton Gate Systems Limited
Hilton Hall Business Centre Hilton Lane Essington West Midlands WV11 2BQ M: 07966 020473 *: chrisd@actongate.co.uk Webmailto:chrisd@actongate.co.uk%0bWeb: www.actongate.co.ukhttp://www.actongate.co.uk/
This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]
Create a class container which is in effect all the controls/logic you will find on the page.
When you create a page in the pageframe you can add the container to it and if you write the container correctly then it should point to the relevant data.
The nice thing about doing this is that you can easily write/test the container out on a normal form.
As opposed to using a container that you place on the page of the pageframe you could always substitute an actual page for the container and generate a new page class which you could also add programmatically.
The container approach is definitely the easiest to do and debug. Be careful to anchor controls so that any resizing of the container will automatically reposition the controls in the container.
We do this on lots of forms where e have jobs that can run on multiple machines, each page in the pageframe being dedicated to the machine.
My only worry would be the number of pages you wish to display and the amount of data to refresh but Pages only refresh when activated so you can easily put all your refresh info in the container as a method and then call the method on the page "activate" event.
As for all the records being part of the same table, personally I would scatter the data from the appropriate table/record into a names object and then bind this to the container as a property which can be distributed to the relevant controls within the container.
If you need to update the view then gather the modified object when finished editing or have a load/update method on the container that does this automatically.
Also using classes this way means that you can pass in data from any table assuming you design the container and its methods correctly.
Take a bit of time getting the design, properties and methods defined and it should be simple.
No need to use the DE if you don't want to as the source of the data would be irrelevant to the container.
Dave
-----Original Message----- From: ProFox [mailto:profox-bounces@leafe.com] On Behalf Of Chris Davis Sent: 07 March 2016 14:34 To: profox@leafe.com Subject: Forms and Date Environments
Hi All
Just a pointer if possible.
I want to create a form with one page frame and an unknown number of pages.
Each page will be identical and editing one record out of a view.
How am I best managing the data in this instance?
Typically we would develop visually, add a view into the data environment and set control sources.
Could I make use of the data environment class?
Other ideas?
Thanks
Chris.
Chris Davis Acton Gate Systems Limited
Hilton Hall Business Centre Hilton Lane Essington West Midlands WV11 2BQ M: 07966 020473 *: chrisd@actongate.co.uk Webmailto:chrisd@actongate.co.uk%0bWeb: www.actongate.co.ukhttp://www.actongate.co.uk/
______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html ---
[excessive quoting removed by server]
Oh yes, Using a container means that you don't need to pre display all of the pages at once. I.e you can load up the container with the record required. As Ted so rightly says you can't edit all the pages at the same time so why not simply display the page you need and dynamically change it as you decide to move to a different "record".
Dave
-----Original Message----- From: ProFox [mailto:profox-bounces@leafe.com] On Behalf Of Chris Davis Sent: 07 March 2016 14:34 To: profox@leafe.com Subject: Forms and Date Environments
Hi All
Just a pointer if possible.
I want to create a form with one page frame and an unknown number of pages.
Each page will be identical and editing one record out of a view.
How am I best managing the data in this instance?
Typically we would develop visually, add a view into the data environment and set control sources.
Could I make use of the data environment class?
Other ideas?
Thanks
Chris.
Chris Davis Acton Gate Systems Limited
Hilton Hall Business Centre Hilton Lane Essington West Midlands WV11 2BQ M: 07966 020473 *: chrisd@actongate.co.uk Webmailto:chrisd@actongate.co.uk%0bWeb: www.actongate.co.ukhttp://www.actongate.co.uk/
______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html ---
[excessive quoting removed by server]
Thanks both that was very useful.
The idea is that on Page1 I have a grid with a list of projects.
As the user clicks on a project it opens up a new tab for that project, where it can be edited etc.
The user at will can go back to page1 and click another project and open another tab.
I think the scatter name to a property of the container is the answer for me as I "get it". I don't get the "de class".
Thanks
Chris.
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of Dave Crozier Sent: 07 March 2016 15:00 To: profoxtech@leafe.com Subject: RE: Forms and Date Environments
Oh yes, Using a container means that you don't need to pre display all of the pages at once. I.e you can load up the container with the record required. As Ted so rightly says you can't edit all the pages at the same time so why not simply display the page you need and dynamically change it as you decide to move to a different "record".
Dave
-----Original Message----- From: ProFox [mailto:profox-bounces@leafe.com] On Behalf Of Chris Davis Sent: 07 March 2016 14:34 To: profox@leafe.com Subject: Forms and Date Environments
Hi All
Just a pointer if possible.
I want to create a form with one page frame and an unknown number of pages.
Each page will be identical and editing one record out of a view.
How am I best managing the data in this instance?
Typically we would develop visually, add a view into the data environment and set control sources.
Could I make use of the data environment class?
Other ideas?
Thanks
Chris.
Chris Davis Acton Gate Systems Limited
Hilton Hall Business Centre Hilton Lane Essington West Midlands WV11 2BQ M: 07966 020473 *: chrisd@actongate.co.uk Webmailto:chrisd@actongate.co.uk%0bWeb: www.actongate.co.ukhttp://www.actongate.co.uk/
______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html ---
[excessive quoting removed by server]
+1 Dave/Ted ... and there are considerable advantages to hand coding stuff - otoh I found cursoradapter 's very tidy and easy to use. <snip>