从SmartTable中删除筛选选项

时间:2016-12-15 14:28:05

标签: sapui5 smart-table

我们已经实施了SmartTable,一切正常。我想只删除SmartTable useTablePersonalisation选项提供的Filter选项。

这可能吗?

此致 Mayank

1 个答案:

答案 0 :(得分:3)

您可以通过customData从SmartTable的嵌入式P13nDialog中删除过滤器(以及所有其他选项),如SAPUI5 Explored Sample: P13nDialog with disabled 'Filter' tab - Variation所示。

<强> SmartTableWithoutFilterOption.view.xml

<core:View xmlns:core="sap.ui.core" xmlns="sap.ui.comp.smarttable"
    xmlns:html="http://www.w3.org/1999/xhtml"
    xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
    controllerName="my.namespace.SmartTableWithoutFilterOption">

    <SmartTable
        tableType="ResponsiveTable" header="A bunch of data"
        enableAutoBinding="true" entitySet="RecordSet"
        customData:p13nDialogSettings='{filter:{visible:false}}' />
</core:View>

请注意,您需要为xmlns:customData属性声明customData:p13nDialogSettings命名空间才能生效。

但您也可以使用较长的customData聚合表示法。

<强> SmartTableWithoutFilterOptionLongNotation.view.xml

<core:View xmlns:core="sap.ui.core" xmlns="sap.ui.comp.smarttable"
    xmlns:html="http://www.w3.org/1999/xhtml"
    controllerName="my.namespace.SmartTableWithoutFilterOptionLongNotation">

    <SmartTable
        tableType="ResponsiveTable" header="A bunch of data"
        enableAutoBinding="true" entitySet="RecordSet">
        <customData>
            <core:CustomData
                key="p13nDialogSettings"
                value='\{
                    "filter": \{ "visible": false}
                }' />
        </customData>
    </SmartTable>
</core:View>

要隐藏其他选项,请使用columnssortgroup代替filter。 您还可以组合这些设置以隐藏多个选项。以下代码仅允许过滤。

<core:CustomData
    key="p13nDialogSettings"
    value='\{
        "columns": \{ "visible": false},
        "sort": \{ "visible": false},
        "group": \{ "visible": false}
    }' />