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 |
emptyMsg | string | 0..1 | "No data to display" | Text to display for no results |
displayMsg | string | 0..1 | "Displaying {0} - {1} of {2}" | Paging toolbar text showing which rows are being displayed and how many rows are available in total. If set then this text will be displayed at the end of the grid status bar. Requires at least version 2.16.x of com.cohga.client.weave.main |
beforePageText | string | 0..1 | "Page" | Label before page number |
afterPageText | string | 0..1 | "of {0}" | Text after page number |
firstText | string | 0..1 | "First Page" | Tooltip for first page button |
prevText | string | 0..1 | "Previous Page" | Tooltip for previous page button |
nextText | string | 0..1 | "Next Page" | Tooptip for next page button |
lastText | string | 0..1 | "Last Page" | Tooltip for last page button |
refreshText | string | 0..1 | "Refresh" | Tooltip for refresh button |
itemsText | string | 0..1 | "Items per page" | Text for items per page |
pageSize | integer | 0..1 | 20 | The number of results to display per page |
showPageSize | boolean | 0..1 | true | Should the page size selector be shown. Requires at least version 2.16.x of com.cohga.client.weave.main |
The following properties
emptyMsg
, displayMsg
, beforePageText
, afterPageText
, firstText
, prevText
, nextText
, lastText
, refreshText
and itemsText
can all be set globally using i18n resources as of version 2.4.25.42 of the com.cohga.client.weave.main bundle, see examples.
This bundle version also added support for the above properties in all of the data grid views, but unless they need to be customised per-window it's recommended that the global resource values be used instead since they change all the views at once.
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>