Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Below I'm going to outline exactly how to format columns in a data grid.

Firstly lest assume that you have the following, or something like it in your defaults section in your client config:

Initial client config defaults section
<defaults>
  <entity id="lyr_suburbs />
  <entity id="lyr_properties" isDefault="true">
    <search>aq_property_by_address_auth</search>
    <data>ar_property_address_auth</data>
  </entity>
  <entity id="lyr_parcels"/>
</defaults>

This is just setting some options for some entities, and there may even be other stuff in there, relating to reports for example.

Then elsewhere in you config files you have a data definition and data configuration that look like this:

Data configuration ready to have it formatting changed
<data:datadefinition id="__dd__ar_properties_sde">
  <datasourcedataconnection datasource="ds_sde" table="PROPERTIES_ACTIVE_REGION" key="PROPERTY_NUMBER" prefix="DISTINCT">
    <parameter type="string" name="sp_propno" label="Parcel Number" column="PROPERTY_NUMBER" />
    <parameter type="string" name="sp_houseno" label="House Number" column="HOUSE_NUMBER" />
    <parameter type="string" name="sp_roadname" label="Road Name" column="STREET_NAME" />
    <parameter type="string" name="sp_pubprop" label="Public/State Property" column="PUBLIC_PROPERTIES" />
    <parameter type="list" name="lp_landclass" label="Council Land Classification" column="PUBLIC_LAND_IDENTIFIER" list="vl_props_active"/>
    <parameter type="string" name="sp_propdesc" label="Property Description" column="PROPERTY_NAME" />
  </datasourcedataconnection>
</data:datadefinition>
<data:data id="ar_properties_sde" label="GIS - Property Details" entity="lyr_properties" datadefinition="__dd__ar_properties_sde" />

Now lets say that you want to set the width for the column that displays the sp_houseno parameter to 20 pixels and align it to the right, and you want to alter the width for the column that displays the sp_propdesc parameter to 200 pixels, just for when you display the data for the the ar_properties_sde data, i.e. when the user select the "GIS - Property Details" value in the grid panel combo box.

To do this first you need to add a <data> section to the defaults (I'll add it to the end of the defaults section I quoted above), e.g .

Defaults section with empty data configuration section
<defaults>
  <entity id="lyr_suburbs />
  <entity id="lyr_properties" isDefault="true">
    <search>aq_property_by_address_auth</search>
    <data>ar_property_address_auth</data>
  </entity>
  <entity id="lyr_parcels"/>

  <data>
    <!-- This is the new data section that I was referring to above, at the moment it doesn't do anything, I'm just showing where it goes, note that I've added it just inside of the defaults tag, and not within an entity tag -->
  </data>

</defaults>

Now once you have the new <data> section inside of the <defaults> section, which is inside of your client:config you can add a sub-data tag to configure an individual grid, in this example we're going to be setting the column definitions I outlined above relating to the sp_houseno and sp_propdesc columns in the ar_properties_sde grid.

So to do this we need to add yet another <data> tag inside of the one we just added, and give it an id that matched the grid we want to edit, which in our example will be ar_properties_sde', we can do this multiple times to change the display of multiple grids, but for now we'll just do it for one grid, like this:

Defaults section with empty data configuration section for a single grid
<defaults>
  <entity id="lyr_suburbs />
  <entity id="lyr_properties" isDefault="true">
    <search>aq_property_by_address_auth</search>
    <data>ar_property_address_auth</data>
  </entity>
  <entity id="lyr_parcels"/>

  <data>
    <data id="ar_properties_sde">
      <!-- This is the new sub-data section that I was just referring to, it still doesn't do anything, I'm just showing where it goes, what we add inside of this will alter the ar_properties_sde data display -->
    </data>
  </data>

</defaults>

Ok, so now to change the individual column formatting options for each parameter we want to change we have to add a <column> tag to the <data> tag we just added, the one with the id attribute, not the one without the id attribute. In our example we're only changing 2 columns, sp_houseno and sp_propdesc, the rest of the parameters defined in _dd_ar_properties_sde when displayed using the ar_properties_sde grid will use the default values.

Defaults section with a data configuration section to change to columns
<defaults>
  <entity id="lyr_suburbs />
  <entity id="lyr_properties" isDefault="true">
    <search>aq_property_by_address_auth</search>
    <data>ar_property_address_auth</data>
  </entity>
  <entity id="lyr_parcels"/>

  <data>
    <data id="ar_properties_sde">
      <column id="sp_houseno" width="20" align="right"/>
      <column id="sp_propdesc" width="200"/>
    </data>
  </data>

</defaults>

If you wanted to change other parameters in that grid you could add additional <column> tags to the <data> tag, the one with the id attribute, not the one without the id attribute.

If you wanted to change the parameter display for column in data definition other than the ar_properties_sde grid you would create a new <data> tag with the id of the data you want to change, for example if we have another data definition and a corresponding a <data> (this is the data t6ag related to the data definition, not the one we're adding here) tag with the id ar_conquest_council_building_details, so you could add a <data id="ar_conquest_council_building_details">...</data> tag to the top data tag we just added (the one without the id), like so:

Defaults section with multiple data configuration section to alter multiple grid
<defaults>
  <entity id="lyr_suburbs />
  <entity id="lyr_properties" isDefault="true">
    <search>aq_property_by_address_auth</search>
    <data>ar_property_address_auth</data>
  </entity>
  <entity id="lyr_parcels"/>

  <data>
    <data id="ar_properties_sde">
      <column id="sp_houseno" width="20" align="right"/>
      <column id="sp_propdesc" width="200"/>
    </data>
    <data id="ar_conquest_council_building_details">
      <!-- you would add some column tags here like the one above, I haven't done this so this won't actually do anything, but you get idea -->
    </data>
  </data>

</defaults>

The final step you could take is if you have the same parameter used in multiple data definition and you want to change all of them at once. To do this you add a <column> tag at the same level as the <data> tags (the ones with the id's), for example, if you wanted to change all of the parameters named strnum and strname you would do the following:

Defaults section with multiple data configuration section to alter multiple grid and globally altering some columns
<defaults>
  <entity id="lyr_suburbs />
  <entity id="lyr_properties" isDefault="true">
    <search>aq_property_by_address_auth</search>
    <data>ar_property_address_auth</data>
  </entity>
  <entity id="lyr_parcels"/>

  <data>
    <data id="ar_properties_sde">
      <column id="sp_houseno" width="20" align="right"/>
      <column id="sp_propdesc" width="200"/>
    </data>
    <data id="ar_conquest_council_building_details">
      <!-- you would add some column tags here like the one above, I haven't done this so this won't actually do anything, but you get idea -->
    </data>
    <!-- this is where I'm changing the grid display for some parameter globally, every data definition that's displayed to the user with a parameter with these names will be formatted according to what we do here -->
    <column id="strnum" width="50" align="right"/>
    <column id="strname" width="100"/>
  </data>

</defaults>

Now once that's done, you should see the change in the column display for those columns we've changed.

  • No labels