Preparations

To enable interactive sortings in List & Label set the option LL_OPTION_INTERACTIVESORTING_REALDATAJOBPARAMETER to a value unequal to 0.

Please note that this option has to be set for each LL-job that should support interactive sortings:

// activate interactive sortings for current LL-Job
::LlSetOption(hJob, LL_OPTION_INTERACTIVESORTING_REALDATAJOBPARAMETER,
                (LPARAM)&oMyInteractiveSortings);

To deactivate interactive sortings for this LL-job set the option to NULL:

// deactivate interactive sortings for current LL-Job
::LlSetOption(hJob, LL_OPTION_INTERACTIVESORTING_REALDATAJOBPARAMETER, NULL);

The parameter passed with this option can be used freely, for example as a pointer to an internal data structure or objecets. This parameter will be passed unchanged in the callback for your use (scLlDrillDownJob._nUserParam). Please make sure the parameter is not 0 or NULL unless you want to deactivate expandable regions.

Via the callback LL_NTFY_VIEWERDRILLDOWN (for further description, please see chapter Drilldown Reports in Preview) List & Label informs about the current task. This callback will always be called in the context of the preview thread, regardless if initiated from designer or preview print.

When you use structure members, e.g. like _nUserParam, please ensure that the thread has evaluated or copied them before you pass control back to List & Label, as the structure will no longer be valid then – this is true for all Callbacks!