Forms with multiple tables (XPA 4.6)


buster reinke
 

Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster


Steven Blank
 

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:

Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster


buster reinke
 

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster


buster reinke
 

I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster


Todd Baremore
 

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:

I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster


buster reinke
 

Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster


sherman levine
 

Buster
For a printout, can't you just run the same task twice - once for each group. They'll print sequentially.
Sherm

On 11/13/2022 8:52 PM, buster reinke via groups.io wrote:

Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster



Todd Baremore
 

Buster,

Why won't a subtask work that outputs to the same I/O device?  Define the I/O in the parent and call the subtask for outputting the 2nd table from the task suffix.
Todd
On 11/13/2022 8:52 PM, buster reinke via groups.io wrote:

Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster



buster reinke
 

Hi Sherm, that sounds exactly what I need to do. As long as the end result is two tables on the same page, but how do I go about this?

Regards, 

Buster




On Monday, November 14, 2022, 12:04 pm, sherman levine <sherman.levine@...> wrote:

Buster
For a printout, can't you just run the same task twice - once for each group. They'll print sequentially.
Sherm

On 11/13/2022 8:52 PM, buster reinke via groups.io wrote:
Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster



buster reinke
 

I’ve tried that, with no luck. Should the calling tasks be online or batch? I have been trying to use batch tasks.




On Monday, November 14, 2022, 12:08 pm, Todd Baremore <tbaremor@...> wrote:

Buster,

Why won't a subtask work that outputs to the same I/O device?  Define the I/O in the parent and call the subtask for outputting the 2nd table from the task suffix.
Todd
On 11/13/2022 8:52 PM, buster reinke via groups.io wrote:
Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster



Todd Baremore
 

All tasks should be batch for output.  No locking or transactions needed. 
Todd
On 11/13/2022 9:29 PM, buster reinke via groups.io wrote:

I’ve tried that, with no luck. Should the calling tasks be online or batch? I have been trying to use batch tasks.




On Monday, November 14, 2022, 12:08 pm, Todd Baremore <tbaremor@...> wrote:

Buster,

Why won't a subtask work that outputs to the same I/O device?  Define the I/O in the parent and call the subtask for outputting the 2nd table from the task suffix.
Todd
On 11/13/2022 8:52 PM, buster reinke via groups.io wrote:
Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster




buster reinke
 

Hi Todd, I’ve tried playing with this but I’m getting confused. I have got the batch tack that populates the first table sorted out. But calling a sub task that updates the same form has me stumped. As the form exists in the original batch task, how does the second one update the same form? It is creating its own header, footer and detail lines, all class 1 forms like the 1st batch task. If I try to put in the values to be used in the 2nd table, the values are identical to the 1st table. I am pretty sure I am now in the right track, I just don’t understand how to update the same form from a sub task.

Buster




On Monday, November 14, 2022, 12:36 pm, Todd Baremore <tbaremor@...> wrote:

All tasks should be batch for output.  No locking or transactions needed. 
Todd
On 11/13/2022 9:29 PM, buster reinke via groups.io wrote:
I’ve tried that, with no luck. Should the calling tasks be online or batch? I have been trying to use batch tasks.




On Monday, November 14, 2022, 12:08 pm, Todd Baremore <tbaremor@...> wrote:

Buster,

Why won't a subtask work that outputs to the same I/O device?  Define the I/O in the parent and call the subtask for outputting the 2nd table from the task suffix.
Todd
On 11/13/2022 8:52 PM, buster reinke via groups.io wrote:
Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster




Todd Baremore
 

In the subtask, create a new GUI Display form  and make it class 2 with Area set to Detail.   Add a table control with applicable columns to this form.  In the record suffix output this form to the I/O device in the parent task.  This subtask should be called before the parent task footer is output.  

Todd

On 11/13/2022 10:39 PM, buster reinke via groups.io wrote:

Hi Todd, I’ve tried playing with this but I’m getting confused. I have got the batch tack that populates the first table sorted out. But calling a sub task that updates the same form has me stumped. As the form exists in the original batch task, how does the second one update the same form? It is creating its own header, footer and detail lines, all class 1 forms like the 1st batch task. If I try to put in the values to be used in the 2nd table, the values are identical to the 1st table. I am pretty sure I am now in the right track, I just don’t understand how to update the same form from a sub task.

Buster




On Monday, November 14, 2022, 12:36 pm, Todd Baremore <tbaremor@...> wrote:

All tasks should be batch for output.  No locking or transactions needed. 
Todd
On 11/13/2022 9:29 PM, buster reinke via groups.io wrote:
I’ve tried that, with no luck. Should the calling tasks be online or batch? I have been trying to use batch tasks.




On Monday, November 14, 2022, 12:08 pm, Todd Baremore <tbaremor@...> wrote:

Buster,

Why won't a subtask work that outputs to the same I/O device?  Define the I/O in the parent and call the subtask for outputting the 2nd table from the task suffix.
Todd
On 11/13/2022 8:52 PM, buster reinke via groups.io wrote:
Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster





buster reinke
 

Brilliant! 

This is perfect.

Thanks a lot Todd




On Monday, November 14, 2022, 2:15 pm, Todd Baremore <tbaremor@...> wrote:

In the subtask, create a new GUI Display form  and make it class 2 with Area set to Detail.   Add a table control with applicable columns to this form.  In the record suffix output this form to the I/O device in the parent task.  This subtask should be called before the parent task footer is output.  

Todd

On 11/13/2022 10:39 PM, buster reinke via groups.io wrote:
Hi Todd, I’ve tried playing with this but I’m getting confused. I have got the batch tack that populates the first table sorted out. But calling a sub task that updates the same form has me stumped. As the form exists in the original batch task, how does the second one update the same form? It is creating its own header, footer and detail lines, all class 1 forms like the 1st batch task. If I try to put in the values to be used in the 2nd table, the values are identical to the 1st table. I am pretty sure I am now in the right track, I just don’t understand how to update the same form from a sub task.

Buster




On Monday, November 14, 2022, 12:36 pm, Todd Baremore <tbaremor@...> wrote:

All tasks should be batch for output.  No locking or transactions needed. 
Todd
On 11/13/2022 9:29 PM, buster reinke via groups.io wrote:
I’ve tried that, with no luck. Should the calling tasks be online or batch? I have been trying to use batch tasks.




On Monday, November 14, 2022, 12:08 pm, Todd Baremore <tbaremor@...> wrote:

Buster,

Why won't a subtask work that outputs to the same I/O device?  Define the I/O in the parent and call the subtask for outputting the 2nd table from the task suffix.
Todd
On 11/13/2022 8:52 PM, buster reinke via groups.io wrote:
Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster





Todd Baremore
 

Glad you got it working.
Todd
On 11/13/2022 11:27 PM, buster reinke via groups.io wrote:

Brilliant! 

This is perfect.

Thanks a lot Todd

On Monday, November 14, 2022, 2:15 pm, Todd Baremore <tbaremor@...> wrote:

In the subtask, create a new GUI Display form  and make it class 2 with Area set to Detail.   Add a table control with applicable columns to this form.  In the record suffix output this form to the I/O device in the parent task.  This subtask should be called before the parent task footer is output.  

Todd

On 11/13/2022 10:39 PM, buster reinke via groups.io wrote:
Hi Todd, I’ve tried playing with this but I’m getting confused. I have got the batch tack that populates the first table sorted out. But calling a sub task that updates the same form has me stumped. As the form exists in the original batch task, how does the second one update the same form? It is creating its own header, footer and detail lines, all class 1 forms like the 1st batch task. If I try to put in the values to be used in the 2nd table, the values are identical to the 1st table. I am pretty sure I am now in the right track, I just don’t understand how to update the same form from a sub task.

Buster




On Monday, November 14, 2022, 12:36 pm, Todd Baremore <tbaremor@...> wrote:

All tasks should be batch for output.  No locking or transactions needed. 
Todd
On 11/13/2022 9:29 PM, buster reinke via groups.io wrote:
I’ve tried that, with no luck. Should the calling tasks be online or batch? I have been trying to use batch tasks.




On Monday, November 14, 2022, 12:08 pm, Todd Baremore <tbaremor@...> wrote:

Buster,

Why won't a subtask work that outputs to the same I/O device?  Define the I/O in the parent and call the subtask for outputting the 2nd table from the task suffix.
Todd
On 11/13/2022 8:52 PM, buster reinke via groups.io wrote:
Thanks Todd, but that won’t work for what I need. I am trying to duplicate an Aircraft Weight and Balance Spreadsheet that requires a table below the initial weight figures with a list of removed items and then a total weight block at the bottom of the 1st table. Then I need a 2nd table below the 1st that contains a list of installed items with the same format and a total weight as well. 

The tables can’t be side by side as the report will not look like a standard weight and balance sheet that is consistent in the aviation industry as all pilots and engineers are used to the international standard format.

I honestly thought that this would be a piece of cake to develop, but if it is not possible to have a printout with 2 tables, one above the other, then I will just have to stick to using excel.

Thanks,

Buster




On Monday, November 14, 2022, 11:40 am, Todd Baremore <tbaremor@...> wrote:

Buster,

How about using 1 table with enough columns to hold the data for two tables.   Lets assume you have a 5 column table.  On your first pass through the needed data, populate columns 1 and 2.  On the second pass populate columns 4 and 5.  Make column 3 narrow and change the color to black or gray.  It will appear as two tables with a thick line between them in the PDF.
Todd
On 11/13/2022 5:44 PM, buster reinke via groups.io wrote:
I thought that this would be a simple case of just putting a couple of link queries, with the locate ranges defined and then using this to populate the tables on my batch printable form. I have tried doing this in the calling task, and in the batch file itself, but all I am getting is 2 blank tables with one empty line on each of them. I’m sure there must be a simple way to do this, I am just too blind to see it. Surely a printed report would be able to gather all sorts of data to put onto it rather than be restricted to just one table from one data source. (Maybe because of the report header information is coming from a different data source it’s preventing any data from being displayed on the tables by dominating the range) 3 days now of getting nowhere, I need a nudge to push me in the right direction please.

Regards,

Buster




On Sunday, November 13, 2022, 5:46 am, buster reinke via groups.io <buster_png@...> wrote:

Thanks Steve, I didn’t quite explain what I was trying to do correctly. The form, I was referring to where I want to display the data in two seperate tables, is a pdf form. I am quite happy to be able to view the data separately on screen, but the problem I am having is getting it printed out, so that I can show a list of removals, and a list of installations on the same piece of paper. 

Regards,

Buster




On Sunday, November 13, 2022, 4:57 am, Steven Blank <sgblank@...> wrote:

Buster,

Magic doesn't support two table controls on the same form, especially not with separate data views — the runtime engine just doesn't work that way. The only way to accomplish what you describe using table controls is to implement the second table control and its separate data view in a called task and display it in a subform on the original program's form. This is entirely do-able.

Alternatively, you CAN place two LISTBOX controls, each having their own "data view," on a single form. For an example of such an implementation, look no further than the available and selected table lists in DDF Maker, a screen capture of which follows:



This program supports multi-marking, drag-and-drop, mouse-clicks, hot-keys, and tabs — every possible user-interface method is supported. Perhaps this could provide the behavior you desire? If so, then this technique is illustrated in one of the Demo applications I've uploaded to this forum's shared files area in the past. Check it out here:

https://magicu-l.groups.io/g/main/files/Demo_DragDropMultiMark.zip

This is a really old demo, back to v9.4, so it's not going to work directly in xpa 3, but the important things are the event handling bits which will work exactly the same in xpa 3. If you have no way to view this demo, let me know and I'll see if I can find a later version.

Steven G. Blank
Ξ SGBlank Consulting


On 11/11/2022 8:59 PM, buster reinke via groups.io wrote:
Hi all, I have created many forms before, but always with only one table on them. I am trying to create a form with 2 tables, both using the same data source, but segregating the data on the tables into 2 groups. (One is for Removed Items and one is for Installed Items) It seems that I can only set the range in the main Data Source, a Link to the table again with a different Locate Range, doesn't work because the main source range seems to override it. I can get all the records required to show up in the 1st table, where the range is defined in the main source, but it will put 1 record in the second table, I can't get it to list all the records in the required range in the second table. Is there a way to do this?

Regards,

Buster