Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

There is a way to link fields together in the header. Using the linkedElement/filterColumn/linkColumn attributes.

Step-by-step guide - "filter"

Before using the filter function, you must setup the following in GetReferenceData

  1. Write the table "MasterTable".

  2. Write the table "SlaveTable".

  3. In the header configure "Master" as:
    id = 5
    name = TestMaster
    inputType = List
    dataTable = MasterTable
    dataKeyColumn = MasterKey
    dataDisplayColumn = MasterName
    linkedElement = 6 - This points to the slave list.

  4. In the header configure "Slave" as:
    id = 6
    name = TestSlave
    inputType = List
    dataTable = SlaveTable
    dataKeyColumn = SlaveKey
    dataDisplayColumn = SlaveName
    filterColumn = SlaveMasterKey    - This points to the column in SlaveTable to filter the values on.

 

 

Step-by-step guide - "linkColumn"

This method will change the value of another field when a specific field is changed.
The "Slave" field can be changed afterwards, but if "Master" is changed, the "Slave" will receive a new value.
Demo, in GetReferenceData do the following.

...

Tip
titleAX

Example: this is used in Unplanned Move. Look a class Mob_GetReferenceData.addUnplannedMoveHeader(..)
It is used to set "To warehouse" to the same value as "From warehouse", but the "To warehouse" can be changed afterwards.

 

 

Code Block
languagec#
titleMob_GetReferenceData.addUnplannedMoveHeader(..)
linenumberstrue
collapsetrue
void addUnplannedMoveHeader(XmlElement linesElement)
{
    // Warehouse to move from
    this.addDefaultWarehouseElement(linesElement, 1, #ReferenceDataTable_WarehouseList, #FromWarehouse, "@SYS25253", '2', #Warehouse_InventLocationId);

    // Warehouse to move to
    this.addDefaultWarehouseElement(linesElement, 2, #ReferenceDataTable_WarehouseList2, #ToWarehouse, "@SYS8519");

    // Item number text box
    this.addDefaultItemNumberElement(linesElement, 3);
}


 

 

Tables used

For the examples, this data is used to demo the functionality.

MasterTable

MasterKeyMasterName
M1Bike
M2Car
M3Truck

...

The 2 tables are linked so the MasterTable.MasterKey --> SlaveTable.SlaveMasterKey

SlaveTable

SlaveMasterKeySlaveKeySlaveName
M1S1City bike
M1S2Mountainbike bike
M1S3Motor bike
M2S5Sports car
M2S6MPV
M2S7Wargon
M3S9Just Truck

...