Trace:
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
jvx:client:gui:concatmask_linked_celleditor [2018/11/08 22:18] admin |
jvx:client:gui:concatmask_linked_celleditor [2023/03/13 08:16] admin |
||
---|---|---|---|
Line 1: | Line 1: | ||
~~NOTRANS~~ | ~~NOTRANS~~ | ||
- | ~~Title: Concat mask of linked cell editor~~ | + | ~~Title: Concat Mask of Linked Cell Editor~~ |
- | The [[jvx:client:gui:concatmask_linked_celleditor|linked cell editor]] is a combobox with a table in it. The table has one or more columns and it's possible to choose one value from the table as display value. Here's an example | + | The [[jvx:client:gui:custom_linked_celleditor|linked cell editor]] is a combobox with a table in it. The table has one or more columns, and it's possible to choose one value from the table as display value. Here's an example: |
{{:jvx:client:gui:linkedcelleditor_standard.png?300|}} | {{:jvx:client:gui:linkedcelleditor_standard.png?300|}} | ||
- | The combobox is a very special control because not all GUI technologies show more than one column in a combobox. In desktop technologies like Swing, it's not a problem to show more than one column. In web technologies it's unusual to show more than one column. Usually, only one column (= display value) will be used in a combobox. Here's an example: | + | The combobox is a very special control because not all GUI technologies show more than one column in a combobox. In desktop technologies like Swing, it's not a problem to show more than one column. In web technologies, it's unusual to show more than one column. Usually, only one column (= display value) will be used in a combobox. Here's an example: |
- | {{:jvx:client:gui:linkedcelleditor_html5.png?300 |}} | + | {{:jvx:client:gui:linkedcelleditor_html5.png?300|}} |
- | If you want to show multiple columns in such GUI technologies, you have to use a calculated column which concats the values of different columns in one value. | + | If you want to show multiple columns in such GUI technologies, you have to use a calculated column which concats the values of different columns to one column. With JVx, this can be done very easily. Simply write one line of code: |
+ | |||
+ | ((ILinkedCellEditor)book.getRowDefinition().getColumnDefinition("SALU").getDataType().getCellEditor()).setDisplayConcatMask("* (*)"); | ||
+ | |||
+ | The example sets a concatenation mask (* (*)) for the cell editor (ILinkedCellEditor) of a specific column (= SALU). The concat mask supports wildcards (= *). Every * is a column from the ColumnView. The order is defined by the ColumnView column order. It's also possible to set a simple concat mask without wildcards: | ||
+ | |||
+ | ((ILinkedCellEditor)book.getRowDefinition().getColumnDefinition("SALU").getDataType().getCellEditor()).setDisplayConcatMask(" "); | ||
+ | |||
+ | In this case, a space will be used to separate all columns. Here's an example with a wildcard concat mask: | ||
+ | |||
+ | {{:jvx:client:gui:linkedcelleditor_html5_concat.png?300|}} | ||
+ | |||
+ | It's a good idea to use the concat mask only in web environments. This can be configured with the following code: | ||
+ | |||
+ | if (getApplication().getLauncher().isWebEnvironment()) | ||
+ | { | ||
+ | //set the concat mask | ||
+ | } |