$loadcols $colcount

Martin Obongita martin.obongita at yahoo.com
Sun Apr 17 21:25:22 UTC 2022

 Hi Kelly,
I want to allow the user to select the columns to print from a table using the command

Calculate lTableClassColsList as pTableClassColsList

Calculate lLineCount as lTableClassColsList.$linecount

For lLineNum from 1 to lLineCount

Do lTableClassColsList.[lLineNum].$loadcols(lColValue01,lColValue02,lColValue03,lColValue04,lColValue05,lColValue06,lColValue07)

End For

Do lTableClassColsList.$define(lColName01,lColName02,lColName03,lColName04,lColName05,lColName06,lColName07)

Do lTableClassColsList.$add(lColValue01,lColValue02,lColValue03,lColValue04,lColValue05,lColValue06,lColValue07)

Quit method lTableClassColsList


Calculate lColValue01 as con(pTableClassPrefix,'code')

Calculate lColValue02 as con(pTableClassPrefix,'name')

Calculate lColValue03 as con(pTableClassPrefix,'active_from')

Calculate lColValue04 as con(pTableClassPrefix,'active_to')

Calculate lColValue05 as con(pTableClassPrefix,'activestatus_linenum')

Calculate lColValue06 as con(pTableClassPrefix,'picture')

Calculate lColValue07 as con(pTableClassPrefix,'id')

Do lTableClassList.$define(lColName01,lColName02,lColName03,lColName04,lColName05,lColName06,lColName07)

Do lTableClassList.$add(lColValue01,lColValue02,lColValue03,lColValue04,lColValue05,lColValue06,lColValue07)

Quit method lTableClassList


For lLineNum from 1 to lLineCount

Do lTableClassColsList.[lLineNum].$loadcols(lCol01,lCol02,lCol03,lCol04,lCol05,lCol06,lCol07)

End For

Do iDataList.$definefromsqlclass(iTableClassRef,lCol01,lCol02,lCol03,lCol04,lCol05,lCol06,lCol07)

If he selects 3 then three columns should be loaded.If he selects 20 then twenty columns should be loaded.
Rgds, Martin.

    On Monday, April 18, 2022, 12:03:53 AM GMT+3, Kelly Burgess <kellyb at montana.com> wrote:  
 Hi Martin,

> For lLineNum from 1 to  lTableClassColsList.$linecount        
>    Do lTableClassColsList.[lLineNum].$loadcols(lCol01,lCol02,lCol03,lCol04,lCol05,lCol06,lCol07)            
> End For        

It's hard to know what you want to do, since the code above just leaves you with the final line's values in those locals, overwriting the previous line's values.

If you don't supply any parameters to $loadcols, then all columns are loaded, but if you need to redirect into other variables then you can supply names.

One approach could be to set up a string of desired variables first.

  Calculate loadColumns as con('$loadcols(',nam(lCol01),',',nam(lCol02),',',nam(lCol03),')')
  Do lTableClassColsList.[loadColumns]

Another would be to work with a copy of the list so you can $redefine the copy's columns to match your local variable names.

Another would be to address the list columns directly, without loading them into locals.

  Calculate someValue as lTableClassColsList.[curLine].C[curColumn]

.. just to name a few.

Manage your list subscriptions at https://lists.omnis-dev.com
Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com 

More information about the omnisdev-en mailing list