Please enable JavaScript to view this site.

A-Shell Reference

Modified September 2021

This option allows you to associate a column with a numeric ID which is not affected by either the physical column number (position in the coldef array) or logical column number (display position). This can be potentially useful for associating validation or other column-related logic with columns in trees containing many editable columns, especially during development, when the column numbers are likely to be fluid.

To associate an ID number with a column, add the Advanced Coldef Option to its coldef definition:

ID=###

where ### is an integer in the range of 1-255, e.g. ID=25.

On exit from the tree, the XTR.COLID field in the XTRCTL structure will be set to the column ID corresponding to the physical column set in XTR.XCOL, i.e. the exit column (if relevant).

History

2020 September, A-Shell 6.5.1689: Feature added to A-Shell. The XTRCTL map and structure definitions in XTREE.SDF and XTREE.MAP have been updated according. The end of the structure now looks like this...

defstruct XTRCTL         ! extended XTREE parameters

        map2 OPCODE,B,1             ! 0=normal (create), 1=replace data,...

        map2 CTLNO,B,1              ! 0=1st pcklst ctl, 1=2nd, 2=3rd

        map2 ITEMLINES,B,1          ! max # dsp lines of text per item

        map2 TREELINESTYLE,B,1      ! 0=none,1=solid,2=dotted

    ...

    ...

        map2 SHOWROWHDR,B,1         ! [131] see XTRHF_xxx

        map2 CTLID,B,2              ! [133] A-Shell ctl #

        map2 LEFTINDEX,B,1          ! [137] Left-most visible column

        map2 SHOWFOOTER,B,1         ! [138] Show footer

        map2 FOOTERSTYLE,B,1        ! [138] same XTHSF_xxx flags as HEADERSTYLE (6.3.1537+)

        map2 COLID,B,1              ! [140] column ID

        map2 UNUSED2,X,12           ! [142] unused

                                    ! (total size = 128)

EndStruct

 

Note that there is no requirement to define column ID's for every column, nor any rule against using the same ID for multiple columns, which might make sense if they share common validation or other processing logic.