将参数插入模板循环
Inserting parameters into a template loop
是否可以在模板的 foreach
循环中使用在 parameters
' 节点(参见 XDT 文件)中声明的参数?我必须添加一个命名空间?如果有的话是哪一个?
文件 XDT:
<dataTemplate name="StoreLayoutLabels" xmlns="http://micros.com/xstore/config/report">
<labels>
<!-- Template-specific Text -->
<label name="HANDHELD_READ" value="_art.inventory.handheld.read"/>
<label name="MANUAL_CHECK" value="_art.inventory.manual.check"/>
<label name="OPERATOR1" value="_art.inventory.operator1"/>
<label name="OPERATOR2" value="_art.inventory.operator2"/>
<label name="SECTION" value="_art.inventory.section"/>
<label name="STORE" value="_art.inventory.store"/>
</labels>
<parameters>
<!-- System Parameters -->
<parameter name="GroupName" class="java.lang.String" isForPrompting="false" include_in_output="true"/>
<parameter name="storeNbr" class="java.lang.String" isForPrompting="false" include_in_output="true"/>
<parameter name="storeName" class="java.lang.String" isForPrompting="false" include_in_output="true"/>
</parameters>
<!--Data source and data Structure-->
<dataSource>
<dataReference name="Q_STORE_LAYOUT_LABELS">
<ResultFields>
<ResultField>SectionId</ResultField>
<ResultField>SectionDescription</ResultField>
</ResultFields>
</dataReference>
</dataSource>
<dataStructure>
<group name="STORE_LAYOUT_LABELS" source="Q_STORE_LAYOUT_LABELS">
<element name="SECTION_ID" value="SectionId"/>
<element name="SECTION_DESCRIPTION" value="SectionDescription"/>
</group>
</dataStructure>
</dataTemplate>
报告模板:
例如PAR_GROUP_NAME
在模板中用<?GroupName?>
标签表示,但PDF转换后不出现。如果标签插入到表示循环的标签 F
之外,则该值会正确显示。
当您引用一个字段时,它会在您当前所在的元素内部查找。因此,如果它不在当前元素中,您需要告诉 BI Publisher 它在哪里。只需为树上的每个级别添加 ../
,然后一旦进入第一个公共元素,就可以返回。
所以如果你在 <?for-each:dataSource?>
您可以通过执行以下操作获取参数属性值,其中属性名称= GroupName:
<?../parameters/parameter[@name='GroupName']?>
是否可以在模板的 foreach
循环中使用在 parameters
' 节点(参见 XDT 文件)中声明的参数?我必须添加一个命名空间?如果有的话是哪一个?
文件 XDT:
<dataTemplate name="StoreLayoutLabels" xmlns="http://micros.com/xstore/config/report">
<labels>
<!-- Template-specific Text -->
<label name="HANDHELD_READ" value="_art.inventory.handheld.read"/>
<label name="MANUAL_CHECK" value="_art.inventory.manual.check"/>
<label name="OPERATOR1" value="_art.inventory.operator1"/>
<label name="OPERATOR2" value="_art.inventory.operator2"/>
<label name="SECTION" value="_art.inventory.section"/>
<label name="STORE" value="_art.inventory.store"/>
</labels>
<parameters>
<!-- System Parameters -->
<parameter name="GroupName" class="java.lang.String" isForPrompting="false" include_in_output="true"/>
<parameter name="storeNbr" class="java.lang.String" isForPrompting="false" include_in_output="true"/>
<parameter name="storeName" class="java.lang.String" isForPrompting="false" include_in_output="true"/>
</parameters>
<!--Data source and data Structure-->
<dataSource>
<dataReference name="Q_STORE_LAYOUT_LABELS">
<ResultFields>
<ResultField>SectionId</ResultField>
<ResultField>SectionDescription</ResultField>
</ResultFields>
</dataReference>
</dataSource>
<dataStructure>
<group name="STORE_LAYOUT_LABELS" source="Q_STORE_LAYOUT_LABELS">
<element name="SECTION_ID" value="SectionId"/>
<element name="SECTION_DESCRIPTION" value="SectionDescription"/>
</group>
</dataStructure>
</dataTemplate>
报告模板:
例如PAR_GROUP_NAME
在模板中用<?GroupName?>
标签表示,但PDF转换后不出现。如果标签插入到表示循环的标签 F
之外,则该值会正确显示。
当您引用一个字段时,它会在您当前所在的元素内部查找。因此,如果它不在当前元素中,您需要告诉 BI Publisher 它在哪里。只需为树上的每个级别添加 ../
,然后一旦进入第一个公共元素,就可以返回。
所以如果你在 <?for-each:dataSource?>
您可以通过执行以下操作获取参数属性值,其中属性名称= GroupName:
<?../parameters/parameter[@name='GroupName']?>