使用自定义表来提供下拉列表数据源

时间:2018-08-29 14:02:37

标签: kentico

让我们假设我有一个名为Possible URL target parameters的自定义表,其代码名为xyz.PossibleTargets,共有2列: ExplanationValue。 如何在页面类型的下拉字段中填充数据,以使Value(来自表)在下拉列表中具有ValueExplanation作为name? 我已经尝试过并且无法正常工作:

  1. 生成值;名称对用换行符分隔,并将其放置为选项列表:

    z =“”; foreach(CMSContext.Current.GlobalObjects.CustomTables [“ xyz.PossibleTargets”]。Items中的x){z + = x.GetValue(“ Value”); z + =“;”; z + = x.GetValue(“ Explanation”); z + =“ \ n”};返回z;

    Validator不允许我这样做。

  2. 设置选项Macro expression并提供可枚举的对象:

    CMSContext.Current.GlobalObjects.CustomTables [“ xyz.PossibleTargets”]。项目

    在项目转换中:{%Explanation%}和在值列{%TargetValue%}中。

    这也不行。

Dropdown configuration

如何正确执行此操作?字段上的文档和提示无济于事。

Kentico v11.0.26

2 个答案:

答案 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)

我认为您应该在不将字段标记为宏的情况下执行此操作。只需在其中键入宏即可。在屏幕上look on screen