Class ColumnDef

  • All Implemented Interfaces:
    Serializable, DynamicAttributes, IterationTag, JspTag, Tag, DynamicActionAttributes

    public class ColumnDef
    extends StylableTag
    This tag defines a column in the table. It should be placed directly after the <tbl:table> tag.

    Syntax:

       <tbl:columndef
          id=...
          clazz=...
          style=...
          property=...
          sortproperty=...
          filterproperty=...
          exportproperty=...
          datatype=int|long|float|double|string|date|boolean
          annotation=true|false
          enumeration=...
          smartenum=true|false
          title=...
          sortable=true|false
          filterable=true|false
          exportable=true|false
          show=always|never|auto
          tooltip=...
          formatter=...
          unit=...
       >
    
    Tag attributes
    Attribute Default value Required Description
    id - yes The ID of the column. Should be unique among the columns in the table. Do not use all as an ID since it is has a special meaning. The value of this attribute goes directly into the standard HTML id attribute. This means that if you need a reference to the table object in your own JavaScript code, you may for example use the following code:
    column = document.getElementById('<id>');
    
    The ID is also used for cross-referencing between the different tags. For example, <tbl:data columns="..."> and <tbl:cell column="...">.
    clazz columnheader no The value if this attribute goes directly into the standard HTML class attribute. This allows you to apply different styles to different tables.
    style - no The value if this attribute goes directly into the standard HTML style attribute. This allows you to apply different styles to different tables.
    property - no The name of the property on the item objects of this column. If the property isn't a property of the root item, prepend the value with a dollar sign ($) to indicate that the root alias should not be used when using this property in a query.
    sortproperty - no The name of the property to sort on when sorting on this column. If not specified, it takes the same value as the property value.
    filterproperty - no The name of the property to filter on when filtering on this column. If not specified, it takes the same value as the property value.
    exportproperty - no The name of the property to export on when exporting on this column. If not specified, it takes the same value as the property value.
    title - no The title of the column. The value is displayed in the header row.
    sortable false no If the table can be sorted by this column or not. If a true value is specified the title will be linked to a function that resubmits the page with the new sort order information.
    filterable false no If the table can be filtered by this column or not.
    exportable no no If values in this column can be exported or not.
    show auto no Specify if this column should be visible or hidden. If the value is always the column is always shown, if the value is never the column is never shown, if the value is auto it is only shown if it appears in the columns attribute of the <tbl:data> tag.
    enumeration - no A Enumeration<String, String> object containing the possible values of this property. This is used to generate a selection list for the filter.
    smartenum false no If the filter for an enumeration column should be displayed as a free text field or a selection list. Default is to use a selection list. Use this option only if both the hidden key and the displayed value of the enumeration is the same. The "smartness" of this options is that as the user types text, the browser will dynamically display a list of options matching the entered text.
    multiple true no If it should be possible to select multiple options for an 'enumeration' or only a single option. The default value is true.
    formatter - no A Formatter that formats the values in this column. If no formatter is specified the value is ouput as is. Values that should be formated must be specified in the <cell value="..."> attribute. Any tag content is outputted as entered.
    unit - no An options Unit object that should be unit the values are stored with in the database. Setting this property enables filter expressions with units.

    This tag has no subtags.

    Version:
    2.0
    Author:
    Nicklas
    See Also:
    Serialized Form
    • Field Detail

      • table

        private Table table
        The parent <tbl:table> tag.
      • property

        private String property
        The name of the property on the item class.
      • isAnnotation

        private boolean isAnnotation
        If the property is an annotation or not.
      • sortProperty

        private String sortProperty
        Optional property used for sorting.
      • filterProperty

        private String filterProperty
        Optional property used for filtering.
      • exportProperty

        private String exportProperty
        Optional property used for exporting.
      • valueType

        private Type valueType
        The type of data in the property.
      • title

        private String title
        The title of the column.
      • show

        private String show
        If the column should be visible or not. Valid values are: always, never, auto
      • sortable

        private boolean sortable
        If the column is sortable or not
      • filterable

        private boolean filterable
        If the column is filterable or not
      • exportable

        private boolean exportable
        If the column is exportable or not
      • tooltip

        private String tooltip
        A tooltip with explaining text.
      • smartEnum

        private boolean smartEnum
      • multiple

        private boolean multiple
      • formatter

        private transient Formatter<?> formatter
      • unit

        private transient Unit unit
    • Constructor Detail

      • ColumnDef

        public ColumnDef()
    • Method Detail

      • setProperty

        public void setProperty​(String property)
      • getProperty

        public String getProperty()
      • setAnnotation

        public void setAnnotation​(boolean isAnnotation)
      • isAnnotation

        public boolean isAnnotation()
      • setSortproperty

        public void setSortproperty​(String sortProperty)
      • getSortproperty

        public String getSortproperty()
      • setFilterproperty

        public void setFilterproperty​(String filterProperty)
      • getFilterproperty

        public String getFilterproperty()
      • setExportproperty

        public void setExportproperty​(String exportProperty)
      • getExportproperty

        public String getExportproperty()
      • setDatatype

        public void setDatatype​(String dataType)
      • getDatatype

        public String getDatatype()
      • setValueType

        public void setValueType​(Type valueType)
      • getValueType

        public Type getValueType()
      • setTitle

        public void setTitle​(String title)
      • getTitle

        public String getTitle()
      • setShow

        public void setShow​(String show)
      • getShow

        public String getShow()
      • setSortable

        public void setSortable​(boolean sortable)
      • isSortable

        public boolean isSortable()
      • setFilterable

        public void setFilterable​(boolean filterable)
      • isFilterable

        public boolean isFilterable()
      • setExportable

        public void setExportable​(boolean exportable)
      • isExportable

        public boolean isExportable()
      • setTooltip

        public void setTooltip​(String tooltip)
      • getTooltip

        public String getTooltip()
      • setMultiple

        public void setMultiple​(boolean multiple)
        Since:
        2.8
      • setSmartenum

        public void setSmartenum​(boolean smartEnum)
        Since:
        2.7
      • setFormatter

        public void setFormatter​(Formatter<?> formatter)
      • getFormatter

        public Formatter<?> getFormatter()
      • setUnit

        public void setUnit​(Unit unit)
        Since:
        2.9
      • getUnit

        public Unit getUnit()
        Since:
        2.9
      • setJspcontext

        public void setJspcontext​(JspContext jspContext)
        Since:
        3.2
      • asJsonObject

        public org.json.simple.JSONObject asJsonObject()
        Get a JSON representation of this column definition.
        Since:
        3.3