Client Views Data
Provides a means of displaying attribute information relating to the currently selected entities.
ID
com.cohga.html.client.main.gridView
Sub-tags
name | type | cardinality | default | description |
---|---|---|---|---|
label | String | 0..1 | Label to display in tab | |
location | String | 1..1 | Which region to add the view to | |
toolbar | grid actions | 0..n | A collection of tools to add to the panel | |
format | format definitions | 0..1 | A collection of formatting options | |
autoShowOnUpdate | boolean | 0..1 | false | Should the grid panel tab be set active to active when the selection or active entity changes? Requires at least version 3.92.x of com.cohga.client.weave.main, which was first included in Weave 2.5.29. Note this defaults to |
See Common grid panel configuration options for other grid related options
Positioning Highlight Markers
When you click on a row in the data grid the map will highlight the geometry related to the selected row. Normally the highlighting geometry is determined by the geometry associated with the entity that the row corresponds to, but it's also possible to include a coordinate within the data definition that the data grid is displaying and have a marker placed at that coordinate instead.
For example, a land parcel entity would generally be represented as a polygon boundary. But if you have water meter records associated with a parcel you could include a coordinate in the water meter data definition so that when a user clicks on a row in the data grid a marker is placed at the location of the water meter on the property rather than having the property boundary highlighted.
To replace the default highlight geometry with a marker in this way you should include a numeric x
and y
(lower case) parameters in your data definition, which contains the coordinate for the point. You can also include a crs
parameter that provides the EPSG code for the projection that the coordinate is stored in; the coordinates will be assumed to be in the same coordinate system as the underlying map if this is not included. Note that you can also use latitude
and longitude
or lat
and lon
as the field names, and in his case, if the crs
parameter isn't included it's assumed to be WGS84
. It's suggested that a crs
parameter always be included to explicitly provide the CRS and so allowing the same data definition to be used regardless of what CRS is used in the underlying map.
<data:datadefinition id="water_meter"> <datasourcedataconnection datasource="db1" table="WATER_METER" key="COMPKEY"> <parameter column="COMPKEY" /> <parameter column="CATEGORY" /> <parameter column="TYPE" /> <parameter column="OTHER" /> <parameter name="x" label="X" column="LOCATION_X" type="float" /> <parameter name="y" label="Y" column="LOCATION_Y" type="float" /> <parameter name="crs" label="CRS" column="'EPSG:28355'" /> </datasourcedataconnection> </data:datadefinition> <data:data id="water_meter" datadefinition="water_meter" entity="water_meter" label="Water Meter"/>
On a final note, it's possible to hide the additional parameters by setting hidden
to true
when formatting the columns, as described in the examples below.
There was a bug, fixed in 2.5.22.1, that caused the marker not to be displayed if the crs
parameter was not included and you were using x
and y
(as opposed to latitude
and longitude
or lat
and lon
).
Examples
<view id='com.cohga.html.client.main.gridView'> <label>Identify</label> <location>south</location> </view>
<view id="com.cohga.html.client.main.gridView"> <label>Data</label> <location>center.south</location> <toolbar> <!-- toolbar items go here --> </toolbar> <!-- override column widths --> <format> <!-- set column widths for columns in a specific data --> <data id="ar_property_details"> <column id="PropNo" width="20"/> <column id="OwnerName" width="200"/> </data> <data id="ar_road_details"> <column id="Status" width="10"/> <column id="Old_Status" hidden="true"/> </data> <!-- set column width globally for columns in any data --> <column id="RoadName" width="200"/> <column id="RoadType" width="50"/> <column id="Suburb" width="250"/> <column id="oid" hidden="true"/> </format> </view>
<client:format id="custom"> <!-- set column widths for columns in a specific data --> <data id="ar_property_details"> <column id="PropNo" width="20"/> <column id="OwnerName" width="200"/> </data> <data id="ar_road_details"> <column id="Status" width="10"/> </data> <!-- set column width globally for columns in any data --> <column id="RoadName" width="200"/> <column id="RoadType" width="50"/> <column id="Suburb" width="250"/> </client:format> <client:config id="test"> <!-- there would be other config items here --> <perspective> <!-- there would be other config items here --> <view id="com.cohga.html.client.main.gridView"> <label>Data</label> <location>center.south</location> <toolbar> <!-- toolbar items go here --> </toolbar> <!-- override formatting --> <format ref="custom"/> </view> </perspective> </client:config>
Setting formatting in defaults section
<client:config id="test"> <!-- there would be other config items here --> <perspective> <!-- there would be other config items here --> <view id="com.cohga.html.client.main.gridView"> <label>Data</label> <location>center.south</location> <toolbar> <!-- toolbar items go here --> </toolbar> </view> </perspective> <defaults> <data> <!-- set column widths for columns in a specific data --> <data id="ar_property_details"> <column id="PropNo" width="20" align="right"/> <column id="OwnerName" width="200"/> </data> <data id="ar_road_details"> <column id="Status" width="10"/> </data> <!-- set column width globally for columns in any data --> <column id="RoadName" width="200"/> <column id="RoadType" width="50"/> <column id="Suburb" width="250"/> </data> </defaults> </client:config>
<client:config id="example"> <!-- there should be other config items here --> <view id="com.cohga.html.client.main.gridView"> <label>Data</label> <location>center.south</location> <emptyMsg>%nodata.text</emptyMsg> </view> <!-- there should be other config items here --> <client:config> <client:resources> <resource id="nodata.text">No data to display</resource> </client:resources> <client:resources lang="ru"> <resource id="nodata.text">Нет данных для отображения</resource> </client:resources> <client:resources lang="sv"> <resource id="nodata.text">Inga data för att visa</resource> </client:resources> <client:resources lang="it"> <resource id="nodata.text">Nessun dato da visualizzare</resource> </client:resources>
<client:config id="example"> <!-- there should be other config items here --> <view id="com.cohga.html.client.main.gridView"> <label>Data</label> <location>center.south</location> <!-- note, no text properties specified here --> </view> <!-- there should be other config items here --> <client:config> <client:resources> <resource id="grid.data.emptyMsg">No data to display</resource> </client:resources> <client:resources lang="ru"> <resource id="grid.data.emptyMsg">Нет данных для отображения</resource> </client:resources> <client:resources lang="sv"> <resource id="grid.data.emptyMsg">Inga data för att visa</resource> </client:resources> <client:resources lang="it"> <resource id="grid.data.emptyMsg">Nessun dato da visualizzare</resource> </client:resources>
I18n resources
id | default |
---|---|
grid.data.emptyMsg | No data to display |
grid.page.displayMsg | Displaying {0} - {1} of {2} |
grid.page.beforePage | Page |
grid.page.afterPage | of {0} |
grid.page.first | First Page |
grid.page.prev | Previous Page |
grid.page.next | Next Page |
grid.page.last | Last Page |
grid.page.refresh | Refresh |
grid.page.items | Items per page |
Date and Time formatting
You can also change the default date, time and date/time format by setting adding dateformat, timeformat and/or datetimeformat entries to the <data> section of the <defaults> section in the client config.
<client:config id="test"> ... <defaults> ... <data> <dateformat>Y-m-d</dateformat> <timeformat>H:i:s</timeformat> <datetimeformat>Y-m-d H:i:s</datetimeformat> </data> ... </defaults> </client:config>
Place-holders
name | value | format |
d | Day of Month | Numeric, 2 digits, left padded |
D | Day of Week | Text, long |
j | Day of Month | Numeric |
l | Day of Week | Text, short |
N | Day of Week | Numeric, 1=Monday, 7=Sunday |
S | Day of Month Suffix | Text, 'st', 'nd', 'rd', 'th' |
w | Day of Week | Numeric, 0=Sunday, 6=Saturday |
z | Day of Year | Numeric |
W | Week of Year | Numeric, 2 digits, left padded |
F | Month | Text, long |
m | Month | Numeric, 2 digits, left padded, January=01 |
M | Month | Text, short |
n | Month | Numeric, January=1 |
t | Days in Month | Numeric |
Y | Year | Numeric, 4 digits |
y | Year | Numeric, 2 digits |
a | am/pm | Text |
A | AM/PM | Text |
g | Hour | 12 Hour, Numeric |
G | Hour | 24 Hour, Numeric |
h | Hour | 12 Hour, 2 digits, left padded |
H | Hour | 24 Hour, 2 digits, left padded |
i | Minute | Numeric, 2 digits, left padded |
s | Second | Numeric, 2 digits, left padded |
u | Milli-Second | Numeric, 3 digits, left padded |
T | Timezone | String |
Displaying record count
<client:config id="example"> <!-- there should be other config items here --> <view id="com.cohga.html.client.main.gridView"> <label>Data</label> <location>center.south</location> <displayMsg>Displaying {0} - {1} of {2}</displayMsg> </view> <!-- there should be other config items here --> <client:config>