lsFusion:如何在表单中动态修改属性标题?
在lsFusion表单中动态修改属性标题的方法
你提到的captionMyProp并不是lsFusion中用于动态修改属性标题的正确语法,以下是两种常用的实现方式:
1. 全局动态覆盖属性标题
在属性声明后,使用CAPTION关键字配合动态表达式来设置属性的标题,该标题会在所有使用该属性的表单中生效:
// 先声明属性并设置默认标题 PROPERTY myProp '默认标题' = ... ; // 用动态表达式覆盖标题,dynamicValue可以是任意返回STRING类型的逻辑 CAPTION myProp = dynamicValue;
比如你可以根据其他属性的值动态生成标题:
PROPERTY status MyObject INTEGER; CAPTION myProp = IF status(o) = 1 THEN '激活状态属性' ELSE '未激活状态属性';
2. 表单内单独设置动态标题
如果只需要在特定表单中修改属性的标题,可以在表单的属性控件定义中,通过CAPTION参数绑定自定义函数:
// 定义计算动态标题的函数 FUNCTION getMyPropCaption(o MyObject) STRING { RETURN CASE WHEN o.status = 1 THEN '已启用' WHEN o.status = 0 THEN '已禁用' ELSE '未知状态' END; } // 在表单中使用该函数设置属性标题 FORM myManageForm OBJECTS o = MyObject PROPERTIES(o) myProp CAPTION getMyPropCaption(o) ;
内容的提问来源于stack exchange,提问作者KrazyCat
相关产品推荐
相关产品推荐

