The FIXGRID component is the default grid within the CaptainCasa framework. There is some own documentation within the Developer's Guide that shows how to use this component.
The FIXGRID is both used for rendering/editing lists of data and for rendering/editing tree data structures.
Typically used attributes
All attributes are
General attributes are
Used inside: ADAPTIVETILECONTAINER, ADAPTIVETOOLBAR, AREASELECTOR, BLOCKABLEAREA, COLSYNCHEDROW, DRAWAREA, FOLDABLEPANEHEADERROW, GRIDCOL, GRIDFOOTER, GRIDHEADER, GRIDHEADERLABEL, GRIDLAYOUTROW, LABELCONTAINER, OVERLAYAREABASEITEM, OVERLAYAREAITEM, PAGEBEANROOT, PAINTAREAITEM, REPEAT, ROW, ROWADAPTIVELINE, ROWFLEXCOLUMNCONTAINER, ROWFLEXLINECONTAINER, ROWFOOTER, ROWHEADER, ROWTITLEBAR, SCHEDULEITEM, SPANGRIDCOL, STABLEAREA, TEXTWITHCONTROLS, TREENODE
Using inside: GRIDCOL, GRIDFOOTER, GRIDHEADER
Text that is passed as control content to the accessible support devices (e.g. screen readers).
Binding to server side method that processes the events coming from this component.
#{methodBinding} | Method binding |
Special binding to component adapter object instance on server side. The component adapter must be an instance of IComponentAdapterBinding. For some components (e.g. FIXGRID) there is an extended interface (e.g. IFIXGRIDComponentAdapterBinding).
#{tobedefined} | Binding to IComponentAdapter instance |
If set to true then changes of the width/height of the component are animated.
true | With animation |
false | Without animation (default) |
Name of macro that is used for generating certain attributes of this component. Please pay attention: the value of this attribute is read one time for each control and cannot be changed afterwards.
Triggers an execution event on a grid item after selection and after passing some time, in which the selection is not removed. This is very useful for lists in which you quickly navigate through the grid (e.g. with keyboard) but in which you want to make sure that the item is executed after some time, in order to show some detail data.
false | No auto execution (default) |
true | With auto execution |
Number of milliseconds after which an auto-execute is triggered when selecting an item.
1000 | 1000ms (default) |
500 | 500ms |
By default a roundtrip to the server is triggered with every item selection. When specifying false then selections are managed locally within the client, without server roundtrip.
0 | Roundtrips with every selection (default) |
1 | Avoid roundtrips with selection, only send roundtrip if data changed within row |
2 | Avoid roundtrips with selection, never send rountrip with selection |
false | Roundtrips with every selection (default), same as 0-value |
true | Avoid roundtrips with selection, only send roundtrip if data changed within row, same as 1-value |
Background color of the component. Any RGB value can be chosen using format #rrggbb.
#FFFFFF | White |
#000000 | Black |
#FF0000 | Red |
#00FF00 | Green |
#0000FF | Blue |
#0000FF30 | Blue with a transparency of x30. |
Background paint commands. There is a sequence of paint commands which can be executed one after the other by listing them as semicolon separated list. - By appending certain suffixes to a command you can define that the command is only executed in a certain situation. Available suffixes are: _empty (content of component is empty), _focus, _nofocus, _enabled, _disabled, _mouseover. Multiple suffixes can be used in parallel (e.g. write_empty_focus).
----- | ----- bgpaint commands for all clients ----- |
error() | Component indicates error. |
mandatory() | Component indicates mandatory input. Only is shown if component does not have any content yet. |
bgbackground(#FF0000) | Background with one color |
bgbackground(#FF0000,#0000FF,vertical) | Background as gradient of two colors |
bgimage(left,/images/xyz.png) | Image at certain position |
bgwrite(left,...text...) | Text at certain position |
bgwrite(left,...text...,#800000,12) | Text at certain position with defined color and size |
----- | ----- bgpaint commands for Java clients ----- |
rectangle(0,0,100%,100%,#FF0000) | Red rectangle |
rectangle(20,20,100,100,#FF0000) | Red rectangle from 20,20 to 120,120 |
rectangle(20,20,100%-40,100%-40,#FF0000) | Minus absolute values is allowed after percentage definitions |
rectangle(0,0,100%,100%,#FF0000,#00FF00,vertical) | Rectangle with color changing from red to green in vertical direction |
roundedrectangle(0,0,100%,100%,10,10,#FF0000,#00FF00,vertical) | Rectangle with color changing from red to green in vertical direction |
line(0,0,100%,100%,1,#00FF00) | Green line crossing the whole rectangle, from coordinate 0,0 to coordinat 100%,100%, thickness of line is 1 |
image(0,0,/images/xyz.png,lefttop) | Image output x,y,image,position (lefttop/centermiddle/rightbottom...) |
image(0,0,200,100,/images/xyz.png,lefttop) | Image output x,y,width,heigh,image,position (lefttop/centermiddle/rightbottom...) |
scaledimage(0,0,200,100,/images/xyz.png,lefttop) | Scaled image output, the width/height ration is kept while scaling : x,y,width,heigh,image,position (lefttop/centermiddle/rightbottom...) |
heximage(0,0,08FF40324672849CDFE...,lefttop) | Image output x,y,hexadecimal image,position (lefttop/centermiddle/rightbottom...) |
heximage(0,0,200,100,08FF40324672849CDFE...,lefttop) | Image output x,y,width,height,hexadecimal image,position (lefttop/centermiddle/rightbottom...) |
scaledheximage(0,0,200,100,08FF40324672849CDFE...,lefttop) | Scaled image output x,y,width,height,hexadecimal image,position (lefttop/centermiddle/rightbottom...) |
border(0,0,100%,100%,#C0C0C0,2) | Rectangular border with thickness 2 |
roundedborder(0,0,100%,100%,10,10,#C0C0C0,2) | Rounded border with thickness 2 |
write(0,0,Some text,lefttop) | Some text in the left top corner |
write(50%,50%,Some text,20,#00FF00,centermiddle) | Some text in the left center, font size 20, font color green |
write(50%,50%,Some text,20,#00FF00,bold,centermiddle) | Some text in the left center, font size 20, font color green,bold |
write(50%,50%,Some text,20,#00FF00,italic,centermiddle) | Some text in the left center, font size 20, font color green,italic |
write(50%,50%,Some text,20,#00FF00,normal,centermiddle) | Some text in the left center, font size 20, font color green,normal |
write(0,100%,Some text,20,#00FF00,default,lefttop,90) | Some text in the left bottom corner, font size 20, font color green, 90 degrees rotated |
write(20,100%,Some text,20,#00FF00,default,lefttop,90,-1,1) | Some text in the left bottom corner, font size 20, font color green, 90 degrees rotated. x scaling -1, y scaling 1 |
write(20,100%,Some text,20,#00FF00,bold,lefttop,90,-1,1) | Some text in the left bottom corner, font size 20, font color green, 90 degrees rotated. x scaling -1, y scaling 1 |
writeifempty(0,0,Some text,lefttop) | Same as write-command, but now only visible if component contains data |
writeifempty(50%,50%,Some text,20,#00FF00,centermiddle) | Same as write-command, but now only visible if component contains data |
writemultiline(0,0,100%,100%,Some text) | Some text into the defined rectangle. Only fully supported with FX client, in Swing client the text will be output as one line. |
writemultiline(0,0,100%,100%,Some text,20,#FF0000,bold) | Some text into the defined rectangle. In additional font size, text color and text style (normal,bold,italic) are passed. Only fully supported with FX client, in Swing client the text will be output as one line. |
oval(0,0,100%,100%,#FF0000) | Red ellipse |
oval(0,0,100%,100%,#FF0000,#00FF00,vertical) | Red ellipse with color changing from red to green |
ovalborder(0,0,100%,100%,#FF0000,2) | Red ellipse border, red, 2 pixels thick |
grid(100,#00000020) | Grid with line distance 100, black line color - with transparency |
nodisabled() | Switches off the automated shading of disabled input components |
background(#FF0000) | Sets the background of the painted area. |
backgroundnofocus(#FF0000) | Sets the background of the painted area - which is only drawn if the component does not hold the focus. |
repeatimage(/images/xyz.png) | The image is repeated and drawn all over the available space. |
Defintion of border of control. Either defined as straight color value, with then having a border of 1 pixel. Or: an explicit per-side definition as comma separated list of border definition values.
#808080 | 1 pixel border in color dark gray. |
top:1;color:#808080 | top:1;color:#808080 : border only on top, 1 pixel height, color #808080 |
top:1;bottom:1;left:1;right:1;color:#FF0000 | top:1;bottom:1;left:1;right:1;color:#FF0000 : red border of 1 pixel size |
top:1;bottom:1;left:1;right:1;color:#FF0000;dashing:5,2 | top:1;bottom:1;left:1;right:1;color:#FF0000 : red border of 1 pixel size, dashed with segments of 5 pixesl and 2 pixels; dashing only supported with FX Client! |
noborder | Defines that no border is painted - esp. in cases when empty borders are normally added (e.g. in grid cells) |
The color of the border that is rendered between the controls of the grid. When no border color is defined then the background will shine through.
#FFFFFF | White |
#000000 | Black |
#FF0000 | Red |
#00FF00 | Green |
#0000FF | Blue |
#0000FF30 | Blue with a transparency of x30. |
FX only: dashing of border lines between the cells. Any sequence of integer values epxressing the sequence of dots of the line and empty dots
(default) No dashing, solid line | |
1 1 | 1 dot line, 1 dot empty, repeated for the whole line |
5 2 2 2 | 5 dots line, 2 dots empty, 2 dots line, 2 dots empty, repeated for the whole line |
Height of the border between the cells of the grid.
0 | No border between cells. |
1 | Border of 1 pixel height |
Width of the border between the cells of the grid.
0 | No border between cells. |
1 | Border of 1 pixel height |
Name that is assigned to the component at client side: there is no specific function associated with the name - but it can be used on client side to describe the component in a clearer way. The name is e.g. used by UI test tools that replay certain user interaction sequences - and that reference components via their name.
In case the space provided by the container (e.g. gridlayoutcontainer) for the component is wider than the component itself: definition where to place the component
left | Left (default) |
center | Center |
right | Right |
Spanning of columns if used inside a COLSYNCHEDROW or inside a GRIDLAYOUTPANE.
1 | Control spans one column (default) |
2 | 2 columns |
3 | 3 columns |
Allows the user to change the sequence of columns by drag and drop.
true | Enabled (default) |
false | No column drag and drop |
Allows the user to change the size of the columns.
true | Enabled (default) |
false | No sizing of columns by the user |
Comment that can be asigned to any component. The comment is not operationally used.
Any text | Any text |
Configuration information that is attached to this component. This information is not functionally used by CaptainCasa, but may be used for any application specific purpose.
If set to true then an event is triggered on server side when the user starts a drag operation. The event is of type BaseActionEventDragStarted.
false | No event triggered (default) |
true | Event triggered |
Description of object that can be dragged from this component. The description consists out of a type and and id. A component may have multiple objects that can be associated.
article:4711 | Example: article |
file:harry.txt;content:Hello world! | Example: Multiple object descriptions |
Background of even rows - if DRAWODDEVENROWS is set to true. Use a transparent color (e.g. #xxxxxx20) in order to avoid that the row coloring of the application is overpainted.
#FFFFFF | White |
#000000 | Black |
#FF0000 | Red |
#00FF00 | Green |
#0000FF | Blue |
#0000FF30 | Blue with a transparency of x30. |
Background of odd rows - if DRAWODDEVENROWS is set to true. Use a transparent color (e.g. #xxxxxx20) in order to avoid that the row coloring of the application is overpainted.
#FFFFFF | White |
#000000 | Black |
#FF0000 | Red |
#00FF00 | Green |
#0000FF | Blue |
#0000FF30 | Blue with a transparency of x30. |
Odd rows and even rows are differenciated by color.
true | Different coloring of odd and even rows |
false | No odd/even row coloring (default) |
Text that is shown when dragging over the component. The text is only shown if a drop is possible (DROPRECEIVE definition).
(default) No text shown | |
pixel(5) Current drop pixel position - in steps of 5 (or any other value) | |
pixelX(5) Current drop pixel position - only the x-position | |
pixelY(5) Current drop pixel position - only the y-position | |
percentage(5) Current drop pixel position as percentage number - in steps of 5 (or any other value) | |
percentageX(5) Current drop pixel position as percentage number - only the x-position | |
percentageY(5) Current drop pixel position as percentage number - only the y-position | |
textX(0,left,25,middle,75,right) Text that is shown depending from percentage x-position |
Semicolon separated list of object types that can be dropped onto this component.
article | Example: articles can be dropped |
article;customer | Example: articles and customers can be dropped |
When switching to true, then the width of the rows is dynamically measured at runtime.
false | sizing of lines according to rowheight definitions (default) |
true | dynamic height sizing enabled |
Indicator if component is enabled or not.
true | Component is enabled. |
false | Component is not enabled. |
If set to true then data changes within this area will cause a flush-rountrip to the server as soon as the user leaves the area.
true | Flush is done on data change + leaving the area. |
false | No flush. Data is transferred to server with next round trip. (Default) |
Indicator if data changed in the component are transferred immediately to the server, causing a normal round trip processing from client to server.
true | Flush is done on data change. |
false | No flush. Data is transferred to server with next round trip. |
Defines if the component is focusable. The default depends on the component: typical input components (field, check box, ...) are focusable by default, while typical structure components (pane, label, ...) are not focusable by default.
true | Focusable |
false | Not focusable |
Hotkey definition that is used als alternative to the tab-key for moving the focus into the next component.
No keyboard association (default) | |
ctrl-83 | Control key + s |
alt-83 | Alt key + s |
shift-83 | Shift key + s |
ctrl-shift-83 | Control key + Shift key + s |
10 | return |
32 | space |
37 | cursor left |
38 | cursor up |
39 | cursor right |
40 | cursor down |
33 | page up |
34 | page down |
36 | Begin |
35 | End |
27 | escape |
127 | Del |
65 | a |
66 | b |
67 | c |
68 | d |
69 | e |
70 | f |
71 | g |
72 | h |
73 | i |
74 | j |
75 | k |
76 | l |
77 | m |
78 | n |
79 | o |
80 | p |
81 | q |
82 | r |
83 | s |
84 | t |
85 | u |
86 | v |
87 | w |
88 | x |
89 | y |
90 | z |
48 | 0 |
49 | 1 |
50 | 2 |
51 | 3 |
52 | 4 |
53 | 5 |
54 | 6 |
55 | 7 |
56 | 8 |
57 | 9 |
112 | F1 |
113 | F2 |
114 | F3 |
115 | F4 |
116 | F5 |
117 | F6 |
118 | F7 |
119 | F8 |
120 | F9 |
121 | F10 |
122 | F11 |
123 | F12 |
Hotkey definition that is used als alternative to the tab-key for moving the focus into the previous component.
No keyboard association (default) | |
ctrl-83 | Control key + s |
alt-83 | Alt key + s |
shift-83 | Shift key + s |
ctrl-shift-83 | Control key + Shift key + s |
10 | return |
32 | space |
37 | cursor left |
38 | cursor up |
39 | cursor right |
40 | cursor down |
33 | page up |
34 | page down |
36 | Begin |
35 | End |
27 | escape |
127 | Del |
65 | a |
66 | b |
67 | c |
68 | d |
69 | e |
70 | f |
71 | g |
72 | h |
73 | i |
74 | j |
75 | k |
76 | l |
77 | m |
78 | n |
79 | o |
80 | p |
81 | q |
82 | r |
83 | s |
84 | t |
85 | u |
86 | v |
87 | w |
88 | x |
89 | y |
90 | z |
48 | 0 |
49 | 1 |
50 | 2 |
51 | 3 |
52 | 4 |
53 | 5 |
54 | 6 |
55 | 7 |
56 | 8 |
57 | 9 |
112 | F1 |
113 | F2 |
114 | F3 |
115 | F4 |
116 | F5 |
117 | F6 |
118 | F7 |
119 | F8 |
120 | F9 |
121 | F10 |
122 | F11 |
123 | F12 |
Explicit definition of tab sequence. The format of the definition is GROUP/SEQUENCENUMBER. You can define any number of tab-groups within one page. If the user tabs into a component with a FOCUSSEQUENCE definition then the next tab will focus the next component belonging to the same GROUP and holding the next SEQUENCENUMBER. - By default the FOCUSSEQUENCE value is prefixed with some page-id before being sent to the client so that definitions of one page do not affect definitions of another page. You can explicitly avoid this prefixing by using the naming convention ccfix_GROUP/SEQUENCENUMBER.
----- | ----- Examples ----- |
A/1 | Example: group A, sequence 1 |
A/2 | Example: group A, sequence 2 |
BGPAINT definition that is used as for all contained GRIDCOL elements of this grid. Overrides any local GRIDCOL-BGPAINT definintion.
----- | ----- bgpaint commands for all clients ----- |
error() | Component indicates error. |
mandatory() | Component indicates mandatory input. Only is shown if component does not have any content yet. |
bgbackground(#FF0000) | Background with one color |
bgbackground(#FF0000,#0000FF,vertical) | Background as gradient of two colors |
bgimage(left,/images/xyz.png) | Image at certain position |
bgwrite(left,...text...) | Text at certain position |
bgwrite(left,...text...,#800000,12) | Text at certain position with defined color and size |
----- | ----- bgpaint commands for Java clients ----- |
rectangle(0,0,100%,100%,#FF0000) | Red rectangle |
rectangle(20,20,100,100,#FF0000) | Red rectangle from 20,20 to 120,120 |
rectangle(20,20,100%-40,100%-40,#FF0000) | Minus absolute values is allowed after percentage definitions |
rectangle(0,0,100%,100%,#FF0000,#00FF00,vertical) | Rectangle with color changing from red to green in vertical direction |
roundedrectangle(0,0,100%,100%,10,10,#FF0000,#00FF00,vertical) | Rectangle with color changing from red to green in vertical direction |
line(0,0,100%,100%,1,#00FF00) | Green line crossing the whole rectangle, from coordinate 0,0 to coordinat 100%,100%, thickness of line is 1 |
image(0,0,/images/xyz.png,lefttop) | Image output x,y,image,position (lefttop/centermiddle/rightbottom...) |
image(0,0,200,100,/images/xyz.png,lefttop) | Image output x,y,width,heigh,image,position (lefttop/centermiddle/rightbottom...) |
scaledimage(0,0,200,100,/images/xyz.png,lefttop) | Scaled image output, the width/height ration is kept while scaling : x,y,width,heigh,image,position (lefttop/centermiddle/rightbottom...) |
heximage(0,0,08FF40324672849CDFE...,lefttop) | Image output x,y,hexadecimal image,position (lefttop/centermiddle/rightbottom...) |
heximage(0,0,200,100,08FF40324672849CDFE...,lefttop) | Image output x,y,width,height,hexadecimal image,position (lefttop/centermiddle/rightbottom...) |
scaledheximage(0,0,200,100,08FF40324672849CDFE...,lefttop) | Scaled image output x,y,width,height,hexadecimal image,position (lefttop/centermiddle/rightbottom...) |
border(0,0,100%,100%,#C0C0C0,2) | Rectangular border with thickness 2 |
roundedborder(0,0,100%,100%,10,10,#C0C0C0,2) | Rounded border with thickness 2 |
write(0,0,Some text,lefttop) | Some text in the left top corner |
write(50%,50%,Some text,20,#00FF00,centermiddle) | Some text in the left center, font size 20, font color green |
write(50%,50%,Some text,20,#00FF00,bold,centermiddle) | Some text in the left center, font size 20, font color green,bold |
write(50%,50%,Some text,20,#00FF00,italic,centermiddle) | Some text in the left center, font size 20, font color green,italic |
write(50%,50%,Some text,20,#00FF00,normal,centermiddle) | Some text in the left center, font size 20, font color green,normal |
write(0,100%,Some text,20,#00FF00,default,lefttop,90) | Some text in the left bottom corner, font size 20, font color green, 90 degrees rotated |
write(20,100%,Some text,20,#00FF00,default,lefttop,90,-1,1) | Some text in the left bottom corner, font size 20, font color green, 90 degrees rotated. x scaling -1, y scaling 1 |
write(20,100%,Some text,20,#00FF00,bold,lefttop,90,-1,1) | Some text in the left bottom corner, font size 20, font color green, 90 degrees rotated. x scaling -1, y scaling 1 |
writeifempty(0,0,Some text,lefttop) | Same as write-command, but now only visible if component contains data |
writeifempty(50%,50%,Some text,20,#00FF00,centermiddle) | Same as write-command, but now only visible if component contains data |
writemultiline(0,0,100%,100%,Some text) | Some text into the defined rectangle. Only fully supported with FX client, in Swing client the text will be output as one line. |
writemultiline(0,0,100%,100%,Some text,20,#FF0000,bold) | Some text into the defined rectangle. In additional font size, text color and text style (normal,bold,italic) are passed. Only fully supported with FX client, in Swing client the text will be output as one line. |
oval(0,0,100%,100%,#FF0000) | Red ellipse |
oval(0,0,100%,100%,#FF0000,#00FF00,vertical) | Red ellipse with color changing from red to green |
ovalborder(0,0,100%,100%,#FF0000,2) | Red ellipse border, red, 2 pixels thick |
grid(100,#00000020) | Grid with line distance 100, black line color - with transparency |
nodisabled() | Switches off the automated shading of disabled input components |
background(#FF0000) | Sets the background of the painted area. |
backgroundnofocus(#FF0000) | Sets the background of the painted area - which is only drawn if the component does not hold the focus. |
repeatimage(/images/xyz.png) | The image is repeated and drawn all over the available space. |
FONT definition that is used for all contained GRIDLCOL elements. Overrids any local GRIDCOL-FONT definition.
family:Arial | family:Arial |
family:Courier | family:Courier |
size:12 | size:12 |
weight:bold | weight:bold |
size:12;weight:bold | size:12;weight:bold |
size:12;posture:italic | size:12;posture:italic |
FOREGROUND definition that is used for all contained GRIDLCOL elements. Overrids any local GRIDCOL-FOREGROUND definition.
#FFFFFF | White |
#000000 | Black |
#FF0000 | Red |
#00FF00 | Green |
#0000FF | Blue |
#0000FF30 | Blue with a transparency of x30. |
The height of the headline row. If not set then the headline is as high as the content lines.
16 | 16 pixels |
20 | 20 pixels (default) |
Height of the control. Either defined as absolute value or as percentage value. Pay attention when using percentage sizing: the size refers to what is given from the components above. When using percentage sizing then you may define a minimum size in addition, by appending it with a semicolon: "100%;100" means: use 100%, but always keep a minimum size of 100. If using absolute sizes you may append a "+" to define, that the size is extended if required by the component. - Please note: the sizing may be completely taken over by the parent component (e.g. if a component is used in a grid cell), in this case the size definintions on this component level are obsolete.
100 | 100 Pixels |
120 | 120 Pixels |
200 | 200 Pixels |
50% | 50 percents |
100% | Full available height |
Help id that is part of the online help management.
helpid | Id pointing to a server side online help file. |
ccnof1help | Explicitly switching off default F1 help. This is sometimes required in case you want to explicitly react on F1-key as hotkey. |
Scroll mode for the horizontal scrollbar.
auto | Show scrollbar if required (default) |
autowithresize | Show scrollbar if required, do not implicitly calculate scrollbar height into grid height |
always | Show scrollbar always |
hidden | Never show scrollbar |
If set to true then the component registers key strokes within its content - after a certain short duration a corresponding KeySequence event is sent to the server side, telling about the sequence of characters that was input.
false | (default) No key sensitivity |
true | Key sensitive - listening to key events. |
Number of grid rows that is scrolled by mouse wheel movement.
1 | (default) 1 row |
2 | 2 rows |
3 | 3 rows |
Defines if sorting via multiple columns is supported.
true | (default) Multiple column sorting is active |
false | Multiple column sorting is disabled |
Selection mode: by default exactly one item can be selected. You can allow multiple item selection by using this attribute. Multiple selections are done by the user using the ctrl- and shift-key of the keyboard while selecting with the mouse.
false | Single item selection (default) |
true | Multiple item selection |
If multiselect is switched to true: the mode how the user can pick multiple items with the mouse
0 | Default: multi-selection by keeping ctrl-key pressed |
1 | Click by click selection/deselection |
Special flag that controls the inner content of the grid on client side. If switched to true then no scroll pane is used for the content, but just a normal pane. Consequence: the grid can be put into a SCROLLAREA and the grid is moved as a whole when navigating. - This is a quite special attribute, and should not normally not be touched...
false | Normal mode (default) |
true | No scrolling mode (only for very specific use cases) |
Binding to server side object property that represents the component on server side. The type of the property needs to fit to the component type. Example: for FIXGRID components the server side property needs to be of type FIXGRIDListBinding or FIXGRIDTreeBinding.
#{xyz.xyz} | Binding definition |
Reference to the id of a POPUPMENU definition that is available either in this page or in a page that includes this page.
If set to true, then an explicit roundtrip is triggered when the user presses the right mouse button in order to open a popup menu. As result you can define the popup menu dynamically (using DYNAMICCONTENT) and prepare the popup menu at this point of time when the user want to open it.
false | Menu is already defined in layout, no roundtrip (default) |
true | Menu is dynamically created, roundtrip is triggered |
Reference to an outside object that is the content behind the component. E.g. a field is representing a certain field of a database table: in this case you could define the value table;column. The reference plays a siginficant role within the attributemacro management.
ref | One reference |
ref1;ref2 | Two references |
ref1;ref2;ref3 | Three references |
Flag that indicated if this component is rendered at all. If set to false then the component is not rendered - there is no component data sent to the client.
true | Component is rendered (default) |
false | Component is not rendered |
Indicator, by which you can control the focus to be moved into this component.
creation | Component requests focus when created. |
...int value... | Counter coming from server side. Please check Developers Guide. |
Hotkey definition that is used request the focus for this component. The hotkey is globally available within the corresponding dialog.
No keyboard association (default) | |
ctrl-83 | Control key + s |
alt-83 | Alt key + s |
shift-83 | Shift key + s |
ctrl-shift-83 | Control key + Shift key + s |
10 | return |
32 | space |
37 | cursor left |
38 | cursor up |
39 | cursor right |
40 | cursor down |
33 | page up |
34 | page down |
36 | Begin |
35 | End |
27 | escape |
127 | Del |
65 | a |
66 | b |
67 | c |
68 | d |
69 | e |
70 | f |
71 | g |
72 | h |
73 | i |
74 | j |
75 | k |
76 | l |
77 | m |
78 | n |
79 | o |
80 | p |
81 | q |
82 | r |
83 | s |
84 | t |
85 | u |
86 | v |
87 | w |
88 | x |
89 | y |
90 | z |
48 | 0 |
49 | 1 |
50 | 2 |
51 | 3 |
52 | 4 |
53 | 5 |
54 | 6 |
55 | 7 |
56 | 8 |
57 | 9 |
112 | F1 |
113 | F2 |
114 | F3 |
115 | F4 |
116 | F5 |
117 | F6 |
118 | F7 |
119 | F8 |
120 | F9 |
121 | F10 |
122 | F11 |
123 | F12 |
Decides what happens when the user clicks a line which is already selected. By default no further selection event is sent to the server side processing. You can override by specifying true.
true | Reselection is enabled |
false | No reselection (default) |
Rounding radius of edges of border/background. This is optical rounding - so has nothing to do with mathematical rounding...
0 | Straight edges |
5 | Rounding with radius 5 |
10 | Rounding with radius 10 |
If more than one component is arranged within one row, then components need to decide how they want to be aligned vertically inside the row - in case the height of the row exceeds the height of the component itself.
top | Top |
center | Center (default) |
bottom | Bottom |
This is the BGPAINT definition for each row of the grid.
----- | ----- bgpaint commands for all clients ----- |
error() | Component indicates error. |
mandatory() | Component indicates mandatory input. Only is shown if component does not have any content yet. |
bgbackground(#FF0000) | Background with one color |
bgbackground(#FF0000,#0000FF,vertical) | Background as gradient of two colors |
bgimage(left,/images/xyz.png) | Image at certain position |
bgwrite(left,...text...) | Text at certain position |
bgwrite(left,...text...,#800000,12) | Text at certain position with defined color and size |
----- | ----- bgpaint commands for Java clients ----- |
rectangle(0,0,100%,100%,#FF0000) | Red rectangle |
rectangle(20,20,100,100,#FF0000) | Red rectangle from 20,20 to 120,120 |
rectangle(20,20,100%-40,100%-40,#FF0000) | Minus absolute values is allowed after percentage definitions |
rectangle(0,0,100%,100%,#FF0000,#00FF00,vertical) | Rectangle with color changing from red to green in vertical direction |
roundedrectangle(0,0,100%,100%,10,10,#FF0000,#00FF00,vertical) | Rectangle with color changing from red to green in vertical direction |
line(0,0,100%,100%,1,#00FF00) | Green line crossing the whole rectangle, from coordinate 0,0 to coordinat 100%,100%, thickness of line is 1 |
image(0,0,/images/xyz.png,lefttop) | Image output x,y,image,position (lefttop/centermiddle/rightbottom...) |
image(0,0,200,100,/images/xyz.png,lefttop) | Image output x,y,width,heigh,image,position (lefttop/centermiddle/rightbottom...) |
scaledimage(0,0,200,100,/images/xyz.png,lefttop) | Scaled image output, the width/height ration is kept while scaling : x,y,width,heigh,image,position (lefttop/centermiddle/rightbottom...) |
heximage(0,0,08FF40324672849CDFE...,lefttop) | Image output x,y,hexadecimal image,position (lefttop/centermiddle/rightbottom...) |
heximage(0,0,200,100,08FF40324672849CDFE...,lefttop) | Image output x,y,width,height,hexadecimal image,position (lefttop/centermiddle/rightbottom...) |
scaledheximage(0,0,200,100,08FF40324672849CDFE...,lefttop) | Scaled image output x,y,width,height,hexadecimal image,position (lefttop/centermiddle/rightbottom...) |
border(0,0,100%,100%,#C0C0C0,2) | Rectangular border with thickness 2 |
roundedborder(0,0,100%,100%,10,10,#C0C0C0,2) | Rounded border with thickness 2 |
write(0,0,Some text,lefttop) | Some text in the left top corner |
write(50%,50%,Some text,20,#00FF00,centermiddle) | Some text in the left center, font size 20, font color green |
write(50%,50%,Some text,20,#00FF00,bold,centermiddle) | Some text in the left center, font size 20, font color green,bold |
write(50%,50%,Some text,20,#00FF00,italic,centermiddle) | Some text in the left center, font size 20, font color green,italic |
write(50%,50%,Some text,20,#00FF00,normal,centermiddle) | Some text in the left center, font size 20, font color green,normal |
write(0,100%,Some text,20,#00FF00,default,lefttop,90) | Some text in the left bottom corner, font size 20, font color green, 90 degrees rotated |
write(20,100%,Some text,20,#00FF00,default,lefttop,90,-1,1) | Some text in the left bottom corner, font size 20, font color green, 90 degrees rotated. x scaling -1, y scaling 1 |
write(20,100%,Some text,20,#00FF00,bold,lefttop,90,-1,1) | Some text in the left bottom corner, font size 20, font color green, 90 degrees rotated. x scaling -1, y scaling 1 |
writeifempty(0,0,Some text,lefttop) | Same as write-command, but now only visible if component contains data |
writeifempty(50%,50%,Some text,20,#00FF00,centermiddle) | Same as write-command, but now only visible if component contains data |
writemultiline(0,0,100%,100%,Some text) | Some text into the defined rectangle. Only fully supported with FX client, in Swing client the text will be output as one line. |
writemultiline(0,0,100%,100%,Some text,20,#FF0000,bold) | Some text into the defined rectangle. In additional font size, text color and text style (normal,bold,italic) are passed. Only fully supported with FX client, in Swing client the text will be output as one line. |
oval(0,0,100%,100%,#FF0000) | Red ellipse |
oval(0,0,100%,100%,#FF0000,#00FF00,vertical) | Red ellipse with color changing from red to green |
ovalborder(0,0,100%,100%,#FF0000,2) | Red ellipse border, red, 2 pixels thick |
grid(100,#00000020) | Grid with line distance 100, black line color - with transparency |
nodisabled() | Switches off the automated shading of disabled input components |
background(#FF0000) | Sets the background of the painted area. |
backgroundnofocus(#FF0000) | Sets the background of the painted area - which is only drawn if the component does not hold the focus. |
repeatimage(/images/xyz.png) | The image is repeated and drawn all over the available space. |
This is the DRAGSEND definition for each row of the grid. Either input a straight value or a binding to some row information: .{...}
article:4711 | Example: article |
file:harry.txt;content:Hello world! | Example: Multiple object descriptions |
This is the DROPRECEOVE definition for each row of the grid. Either input a straight value or a binding to some row information: .{...}
article | Example: articles can be dropped |
article;customer | Example: articles and customers can be dropped |
The height of one row of the grid.
16 | 16 pixels |
20 | 20 pixels (default) |
This is the POPUPMENU definition for each row of the grid. The POPUPMENU is a reference to the POPUPMENU component id that is used with this component.
If set to true, then an explicit roundtrip is triggered when the user presses the right mouse button in order to open a popup menu. As result you can define the popup menu dynamically (using DYNAMICCONTENT) and prepare the popup menu at this point of time when the user want to open it.
false | Menu is already defined in layout, no roundtrip (default) |
true | Menu is dynamically created, roundtrip is triggered |
Spanning of rows if used inside a GRIDLAYOUTPANE.
1 | Control spans one row (default) |
2 | 2 rows |
3 | 3 rows |
Visible amount of rows within the grid. Dependent on the actual size of the grid, the grid may show less than defined grid items. - Please remember: the number or rows in the client has nothing to do with the number of rows on server side! This definition only tells how many items should fit into the client grid for display reasons.
20 | 20 rows as maximum |
30 | 30 rows as maximum |
Animation that is executed when the user scrolls the grid content
foglight | Light fog that disappears |
fogdark | Dark fog that disappears |
fog(#000000,10) | Fox that starts with the color/transparency that are passed as parameters |
noanimation | ...finally: no animation at all |
If set to true then scrolling can be invoked by dragging and dropping with the mouse.
true | Scrolling enabled via drag and drop |
false | Normal scrolling by scroll bars (default) |
The grid can be scrolled by using the scroll bar - or by using some implicit srcoll functions (e.g. mouse wheel, keyboard navigation). If you do not want the grid to be vertically scrollable, then you can remove the scroll bar by using attribute VERTICALSCROLLMODE. By setting SCROLLINGENABLED to false you in addition disable the implicit scrolling functions. - Area of usage: you may want to control the scrolling completely on your own, e.g. using explicit scroll icons.
true | (default) scrolling enabled |
false | Mouse wheel scrolling disabled |
A scrollpane/grid can synchronize with another scrollpane/grid: if this one scrolls then the scollpane/grid follows. The reference contains the id that links to the master scrollpane/grid.
Top color of color shading that is applied when a grid row is selected.
#FFFFFF | White |
#000000 | Black |
#FF0000 | Red |
#00FF00 | Green |
#0000FF | Blue |
#0000FF30 | Blue with a transparency of x30. |
Bottom color of color shading that is applied when a grid row is selected.
#FFFFFF | White |
#000000 | Black |
#FF0000 | Red |
#00FF00 | Green |
#0000FF | Blue |
#0000FF30 | Blue with a transparency of x30. |
If set to 1 or 2 then a selector is rendered as first columns automatically.
0 | No selector column (default) |
1 | Arrow-icon selector |
2 | Index-of-row selector |
Image that is drawn inside the selector cell when unselected.
/images/abc.png | Image /images/abc.png |
/images/svg/def.svg | Image /images/svg/def.svg |
Image that is dran into the selector cell when selected.
/images/abc.png | Image /images/abc.png |
/images/svg/def.svg | Image /images/svg/def.svg |
Image that is drawn inside the title column.
/images/abc.png | Image /images/abc.png |
/images/svg/def.svg | Image /images/svg/def.svg |
Shadow of component. The definition is done by several inner values: hoffset, voffset, blur and color.
hoffset:5;voffset:5;blur:5;color:#C0C0C0 | full shadow definition |
color:#C0C0C0 | Definition only via color, rest of values is set to default values |
By default a grid has a certain size that is calculated from its SBVISIBLEAMOUNT value (and if height is not explicitly set). If only a few rows of the grid are filled with data, then there is remaining space at the bottom. With SHOWEMPTYROWS you can define, to not see this empty space, if setting the value to false. The setting only shows effect if no explicit height is defined with the grid.
true | Empty rows are shown (default) |
false | Empty rows are hidden, grid is shrinked |
By default an execute event is triggered by double-click. By setting SINGLECLICKEXECUTE to ture you can define that a simple click already triggers an execute on server side.
false | Double click execute (default) |
true | Single click execute |
Style class names that are applied to this component.
In CaptainCasa you can define styles definitions for components. A style definition is a definition of a set of default attribute values that are applied to the component. In case you want to differenciate between different usage types of the component you can apply multiple styles - and use the stylevariant attribute to select between.
Controls if the grid is rendered with a headline or without. The headline contains the column titles and allows the user to exchange and resize columns.
false | With headline, no suppressig of headline (default) |
true | Without headline, suppressing of headline |
Scroll mode for the horizontal scrollbar.
auto | Show scrollbar if required (default) |
always | Show scrollbar always |
hidden | Never show scrollbar |
Width of the control. Either defined as absolute value or as percentage value. Pay attention when using percentage sizing: the size refers to what is given from the components above. When using percentage sizing then you may define a minimum size in addition, by appending it with a semicolon: "100%;100" means: use 100%, but always keep a minimum size of 100. If using absolute sizes you may append a "+" to define, that the size is extended if required by the component. - Please note: the sizing may be completely taken over by the parent component (e.g. if a component is used in a grid cell), in this case the size definintions on this component level are obsolete.
100 | 100 Pixels |
120 | 120 Pixels |
200 | 200 Pixels |
50% | 50 percents |
100% | Full available width |
If set then corresponding focus events are triggered if the component gains/looses the focus.
false | (default) no focus events |
true | with focus events |
focusgained | with focus events but only for gaining the focus |
focuslost | with focus events but only for loosing the focus |
Defines if rollover effects are enabled with this component.
true | Rollover enabled (default) |
false | Rollover disabled |
x-pixel-position: this attribute is only used if the component is directly placed into a PAINTAREA!
y-pixel-position: this attribute is only used if the component is directly placed into a PAINTAREA!