如何将生成的RowAction模板设置为sap.ui.table.TreeTable

时间:2018-03-20 15:37:54

标签: sapui5

我想在周围的sap.ui.table.TreeTable中动态生成带有JS的RowAction

我希望根据(工作)XML视图具有类似的结构,如下所示:

<t:TreeTable id="tree" rowActionCount="1">
    <t:columns>
        <t:Column>
            <t:label>
                <Label text="{i18n>ServicesTree_Name}"/>
            </t:label>
            <t:template>
                <Label text="{Description}" />
            </t:template>
        </t:Column>
    </t:columns>
    <t:rowActionTemplate>
        <t:RowAction>
            <t:RowActionItem 
            type="Delete"
            icon="sap-icon://delete"
            press=".onDelete" />
        </t:RowAction>
    </t:rowActionTemplate>
</t:TreeTable>

我有一个控制器,它使用RowActionItem生成RowAction(参见下面的代码片段),但是如何将它放入TreeTable?

const oRowActionItem = new sap.ui.table.RowActionItem({
    type: sap.ui.table.RowActionType.Delete,
    icon: "sap-icon://delete"
});
const oRowAction = new sap.ui.table.RowAction();
oRowAction.addItem(oRowActionItem);

1 个答案:

答案 0 :(得分:0)

与此example from the Demo Kit相同,您可以通过

设置模板
this.byId("tree").setRowActionTemplate(/*generatedRowAction*/);

setRowActionTemplate之类的API由ManagedObject自动生成,所有控件都从该ManagedObject派生。对于每个属性和聚合,都提供了适当的访问器和增变器。

有关生成的API的更多信息:https://ui5.sap.com/#/api/sap.ui.base.ManagedObject