Operation Property interact with feature property? Domain Lists with SQL!

I am aware this can be done in some magical way!

1. I have a combobox property on a feature Operation cadPrimary named TenureTypeFilter it has an SQL domain list with this value SELECT DISTINCT TENURE_TYPE FROM PROGEN_LMS_LAND_VIEW1 WHERE (LAND_TYPE = 'Primary') it returns a list of all tenure types !

2. I have a feature named cadPrimary it has a combobox property named LMSID_LINK with this SQL SELECT UNIQUE_ID, PRI_LOT_PLAN + ' - ' + UNIQUE_ID AS DISPLAY FROM PROGEN_LMS_LAND_VIEW1 WHERE (LAND_TYPE='Primary') AND (TENURE_TYPE='FREE') it returns all values that have TENURE_TYPE of 'FREE' !!!

I would like to replace the SQL with this! SELECT UNIQUE_ID, PRI_LOT_PLAN + ' - ' + UNIQUE_ID AS DISPLAY FROM PROGEN_LMS_LAND_VIEW1 WHERE (LAND_TYPE='Primary') AND (TENURE_TYPE='[cadPrimary/TenureTypeFilter]')

When the user changes the operation property it needs to update the feature property list instantly! not the next time the user edits/adds a feature

Giving the user the ability to filter the list to the particular tenure type required! however I'm no magician :(

Any takers?

Parents
  • This sounds like you need to add a property watcher.

    Jerry

     

  • Where can I find some detailed information on what a propertty watcher is and how it interacts ? When I change the value of the TenureTypeFilter it does not specifically change any other value it is only referred to in a domain list sql statement, which I would have thought would simply look at the operation then grab that operations current value, the operation is a combobox .... perhaps I need to specify what column it needs to grab it from as well? [cadPrimary/TenureTypeFilter.Tenure_Type] ? ? ?

    This SQL Does not seem to pickup the operation value from cadPrimary/TenureTypeFilter ?

    However if i set the TenureTypeFilter to a type of Text rather than combobox it works!!! but I still have to do as below to pick up a change in value in the text box

    SELECT UNIQUE_ID, PRI_LOT_PLAN + ' - ' + UNIQUE_ID AS DISPLAY FROM PROGEN_LMS_LAND_VIEW1 WHERE (LAND_TYPE='Primary') AND (TENURE_TYPE='[cadPrimary/TenureTypeFilter]')

    Situation ATM

    The user has to place a cadPrimary feature

    then select the correct tenure type from the combobox

    then close the placement dialog

    then place again this picks up that the user had changed the tenure type from the previous dialog...

     

     

    I've attached a schema that might help clarify what I'm trying to achieve.... or completely confuse the situation.

    Jerry Walter - Bentley:

    This sounds like you need to add a property watcher.

    Jerry

    PortBris-SQLDomains.zip
  • Jamo:

    This SQL Does not seem to pickup the operation value from cadPrimary/TenureTypeFilter ?

    Unfortunately, SQL domain list processing does not support feature or operation property replacement in the SQL Select. I have written CR # 264150 for this issue.

    Jamo:
      Where can I find some detailed information on what a propertty watcher is and how it interacts ?

    I do not see property watchers in the Map V8i documentation and have written TR # 264156 for this.  If you have Geographics 8.5 installed, you can see some property watcher information in the Geospatial Administrator help file, but not much more than I list below.

    Watcher types

    1. Current List Lookup Watcher - Set the specified property using the data stored in the specified domain list column of the current property
    2. Foreign List Lookup Watcher - Set the specified property by taking the current property's value and looking up a matching entry in the domain list associated with another property.
    3. Synch Item Watcher - Redraw the specified property's dialog item. Typically used with combo-box properties that specify criteria-based domain list. Also used to set the specified property value based on a value type. If a Match Value is provided, the current property value must equal the Match Value for the watcher to execute.

    Look in geo_example schema for watcher examples like in the Address, GasValve, RoadLabel, TelcoCable, Tree, WorkId features. Also see DialogTest operation property MyGrid/Hours.

    Regards,

    Chris


    This is a test

Reply
  • Jamo:

    This SQL Does not seem to pickup the operation value from cadPrimary/TenureTypeFilter ?

    Unfortunately, SQL domain list processing does not support feature or operation property replacement in the SQL Select. I have written CR # 264150 for this issue.

    Jamo:
      Where can I find some detailed information on what a propertty watcher is and how it interacts ?

    I do not see property watchers in the Map V8i documentation and have written TR # 264156 for this.  If you have Geographics 8.5 installed, you can see some property watcher information in the Geospatial Administrator help file, but not much more than I list below.

    Watcher types

    1. Current List Lookup Watcher - Set the specified property using the data stored in the specified domain list column of the current property
    2. Foreign List Lookup Watcher - Set the specified property by taking the current property's value and looking up a matching entry in the domain list associated with another property.
    3. Synch Item Watcher - Redraw the specified property's dialog item. Typically used with combo-box properties that specify criteria-based domain list. Also used to set the specified property value based on a value type. If a Match Value is provided, the current property value must equal the Match Value for the watcher to execute.

    Look in geo_example schema for watcher examples like in the Address, GasValve, RoadLabel, TelcoCable, Tree, WorkId features. Also see DialogTest operation property MyGrid/Hours.

    Regards,

    Chris


    This is a test

Children
  • Hello Jamo,

    Here is a possible workaround for you involviing combobox domainlists with criteria and a SynchItem watcher on the operation property.  I assumed that you have a manageable number of tenure types.  See the attached example.

    Some items of note:

    1. LMSID_LINK feature property's combobox  domainlist definition now contains one domainlist for each of my four possible tenure types with criteria to match the TenureTypeFilter operation property  value.
    2. TenureTypeFilter operation property has a SynchItem watcher to update the LMSID_LINK feature property after the value of TenureTypeFilter operation property changes.  LMSID_LINK feature property's combobox is redrawn to use the domainlist that matches the criteria and LMSID_LINK feature property value is cleared (set to blank) so that the user picks a valid value from the new domain list.
    3. TenureTypeFilter operation property has a placing initial value rule of type sqlQuery to initialize this property value to a valid TENURE_TYPE from the database.  My example uses the last record for the criteria, so you may do something smarter.

    Regards,

    Chris


    This is a test

    PortBris-SQLDomains.zip