让我们假设我有一个名为Possible URL target parameters
的自定义表,其代码名为xyz.PossibleTargets
,共有2列:
Explanation
和Value
。
如何在页面类型的下拉字段中填充数据,以使Value
(来自表)在下拉列表中具有Value
和Explanation
作为name
?
我已经尝试过并且无法正常工作:
生成值;名称对用换行符分隔,并将其放置为选项列表:
z =“”; foreach(CMSContext.Current.GlobalObjects.CustomTables [“ xyz.PossibleTargets”]。Items中的x){z + = x.GetValue(“ Value”); z + =“;”; z + = x.GetValue(“ Explanation”); z + =“ \ n”};返回z;
Validator不允许我这样做。
设置选项Macro expression
并提供可枚举的对象:
CMSContext.Current.GlobalObjects.CustomTables [“ xyz.PossibleTargets”]。项目
在项目转换中:{%Explanation%}
和在值列{%TargetValue%}
中。
这也不行。
如何正确执行此操作?字段上的文档和提示无济于事。
Kentico v11.0.26
答案 0 :(得分:0)
不需要使用宏,可以使用简单的SQL,使用宏只会使看似简单的下拉列表变得复杂。
SELECT '', '-- select one --' AS Explanation
UNION
SELECT TargetValue, Explanation
FROM xyz_PossibleTargets -- make sure to use the correct table name
ORDER BY ExplanationText
这应该完全填充您要查找的内容,而不会导致宏复杂化。
答案 1 :(得分:0)