is there a sample available for the use of
event.getRenderable()
is there a sample available for the use of
event.getRenderable()
I don’t think there is sample code attached yet, but to give a small example:
function onRender(event) {
var _element = event.getRenderable();
if (_element.getName() == "btn_edit") {
var _record = event.getRecord();
_element.enabled = (_record.is_active);
}
}
The result is that the “btn_edit” is only enabled for active records.
Did you test this code in the latest version (6.0.0 b3 - build 1210) ?
When I use the method :
function onRender1(event) {
var _element = event.getRenderable();
if (_element.getName() == "pers_achternaam") {
/** @type JSRecord<db:/udm/test1> */
var _record = event.getRecord();
if (_record.pers_achternaam == 'M.' ){
_element.enabled = false;
}
else {
_element.enabled = true;
}
}
}
I get the following error for each record in the form :
(Line 27 is var _element = event.getRenderable()
com.servoy.j2db.ui.DataRendererOnRenderWrapper cannot be cast to com.servoy.j2db.ui.IScriptRenderMethods
Wrapped java.lang.ClassCastException: com.servoy.j2db.ui.DataRendererOnRenderWrapper cannot be cast to com.servoy.j2db.ui.IScriptRenderMethods (F:\ServoyPrograms\servoy6_workspace\testOnRender\forms\test2.js#27)
at F:\ServoyPrograms\servoy6_workspace\testOnRender\forms\test2.js:27 (onRender1)
You’re right, unfortunately there is an issue with getRenderable in b3.
R&D is already aware of this and working on fixing it.