Defining scrollgrid in the layout
Define scrollgrid views in the LAYOUT
section of the form definition
file.
Designing scrollgrid views
The scrollgrid rows are defined as a template within an area delimited by curly brackets.
This is an example of a resizable scrollgrid definition using the
SCROLLGRID
layout item. It is resizable because it has no fixed page size
(WANTFIXEDPAGESIZE=NO
). Only one template is needed to define the records.
The position of the item tags is detected by the form compiler to build the
scrollgrid. Item types (widget to be used) and behavior are defined with form items
in the ATTRIBUTES
section.
LAYOUT
SCROLLGRID (WANTFIXEDPAGESIZE=NO)
{
Id: [f1 ]
Name: [f2 ][f3 ]
}
END
END
...
ATTRIBUTES
EDIT f1 = customer.cust_num;
EDIT f2 = customer.cust_fname,
EDIT f3 = customer.cust_lname;
...
SCROLLGRID
layout tags inside a
GRID
container, beside other layout
tags:LAYOUT
GRID
{
<SCROLLGRID sg1 >
Id: [f1 ]
Name: [f2 ][f3 ]
...
}
END
END
ATTRIBUTES
SCROLLGRID sg1: scrollgrid1,
WANTFIXEDPAGESIZE=NO,
GRIDCHILDRENINPARENT;
...
Height of scrollgrid rows
The height of scrollgrid rows can be defined within a grid-based layout by adding empty tags
underneath (this makes sense only when using widgets that can get a height such as TEXTEDIT
or IMAGE
).
In this example, the height of the image item type is defined by the number of rows in the layout section (6 in our example).
LAYOUT
SCROLLGRID (WANTFIXEDPAGESIZE=NO)
{
Icon [name ] Index[index ]
[img ]
[ ]
[ ]
[ ]
[ ]
[ ]
}
END
END
ATTRIBUTES
EDIT name = FORMONLY.name;
IMAGE img = FORMONLY.img, autoscale;
EDIT index = FORMONLY.index;
END
...
Defining the rendering type of the scrollgrid
- To define a scrollgrid with a fixed page size, omit the
WANTFIXEDPAGESIZE=NO
attribute. The number of visible rows is defined by the number of row templates in the form layout. - To define a resizable scrollgrid, the
WANTFIXEDPAGESIZE=NO
is set in the layout to allow the container to stretch vertically. Only one record row template needs to be defined. Then define the initial number of scrollgrid lines with theINITIALPAGESIZE
form definition attribute. - To render a scrollgrid as a paged responsive tile list, the
customWidget
presentation style is defined and theWANTFIXEDPAGESIZE=NO
scrollgrid attribute is used.
For more details, see Controlling scrollgrid rendering.