Versions Compared

Key

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


Note

As at Weave 2.5.18 you can specify client formatting options for a data definition directly in the <data:data> tag for each data definition. This is outlined at the end of this page.

The following notes outline how to format columns in a data grid.

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

Code Block
xml
xml
titleInitial 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 material in there that relates to reports for example.

Elsewhere in your config files you would have a data definition and data configuration that looks like this:

Code Block
xml
xml
titleData 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 let us 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 selects the "GIS - Property Details" value in the grid panel combo box.

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

Code Block
xml
xml
titleDefaults 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>

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 are going to be setting the column definitions outlined above relating to the sp_houseno and sp_propdesc columns in the ar_properties_sde grid.

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. In our example this will be ar_properties_sde'. We can do this multiple times to change the display of multiple grids, but for now we will just do it for one grid, like this:

Code Block
xml
xml
titleDefaults 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>

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 are 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.

Code Block
xml
xml
titleDefaults 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 a column in a 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Ā <data> (this is the data tag related to the data definition, not the one we are adding here) tag with the id ar_conquest_council_building_details, 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:

Code Block
xml
xml
titleDefaults 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>

If you have the same parameter used in multiple data definitions and you want to change all of them at once, then 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:

Code Block
xml
xml
titleDefaults 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>

Once that is done, you should see the change in the column display for those columns we have changed.

Formatting in 2.5.18+

As of Weave 2.5.18 you can specify the same sort of formatting information described above directly within theĀ <data:data> tag that's associated with a data definition, e.g.

Code Block
languagexml
titleFormatting a data definition
<data:datadefinition id="properties_details">
  <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_property_details" label="Property Details" entity="lyr_properties" datadefinition="properties_details">
  <columns>
    <column id="sp_propno" align="right" width="40"/>
    <column id="sp_houseno" align="right" width="40"/>
    <column id="sp_roadname" width="100"/>
  </columns>
</data:data>