Creating image thumbnails using Servoy Solution Model

Image Thumbnails can be created at the design time using list view. But the problem is we can show only one thumbnail per row/line. This is fine as long as the number of thumbnails to be created is known but when the number of thumbnails to be created is not known and there is a need to show the thumbnails in a formatted way, there is only one option ie. to create these image thumbnail objects at run time using Solution Model.

1. To do this first create a run time form object.
var frmObj = solutionModel.newForm(formName, serverName, tableName, styleName, true, width, height);

2. Create media type variables which will work as dataprovider for the media field.
var formVariableObj = frmObj.newFormVariable(variableName, JSVariable.MEDIA);

3. Create form field by using the dataprovider as the previously created form variable.
frmObj.newField(formVariableObj, JSField.IMAGE_MEDIA, x, y, width, height);

4. Show the form.
forms[formName].controller.show();

5. Now the form is created, we need to initialize the dataprovider/variable.
forms[formName].controller.setDataProviderValue(variableName, imageData); Here variableName : The dataprovider/variable attached to the media field

imageData : The byte[] of the image.

Note : The last step is very important, which is used to initialize the run time form variables. – The run time media type variables cannot be initialized to an image data by using the defaultValue property of jsVariable.

Example : formVariableObj.defaultValue = imageData;

– This is because the variable is not created/instantiated at that time. This defaultValue property only works good for the text or integer initialization. – So you need to initialize the variable(s) after the form is created and displayed.

– For multiple thumbnails, create the variables and fields in a loop. And finally initialize all the variables after the form is created.

150 150 Burnignorance | Where Minds Meet And Sparks Fly!