Removing/Hiding 来自 TableSelectDialog 的搜索栏

Removing/Hiding search bar from TableSelectDialog

我正在使用 TableSelectDialog 来显示其中包含 5-6 列的 table。我想删除或隐藏默认搜索栏,还想从其页脚中删除取消按钮并添加自定义 'OK' 按钮。

    <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core">
        <TableSelectDialog noDataText="No Indent Found" confirm="handleClose" items="{path: 'Create>/Status'}">
            <ColumnListItem id="item0_1560778285375">
                <cells>
                    <Text text="{Create>IndentNo}" id="indenNo"/>
                    <Text text="{Create>So_no}" id="soNo"/>
                    <Text text="{Create>Vehicle}" id="truckNo"/>
                    <Text text="{Create>Status}" id="status"/>
                </cells>
            </ColumnListItem>
            <columns>
                <Column id="column0" minScreenWidth="Tablet" demandPopin="true">
                    <header>
                        <Label design="Bold" text="Indent No" id="label8"/>
                    </header>
                </Column>
                <Column id="column1" minScreenWidth="Tablet" demandPopin="true">
                    <header>
                        <Label text="Sales Order No." id="label10" design="Bold"/>
                    </header>
                </Column>
                <Column id="column2" minScreenWidth="Tablet" demandPopin="true">
                    <header>
                        <Label text="Vehicle No." id="label9" design="Bold"/>
                    </header>
                </Column>
                <Column id="column3" minScreenWidth="Tablet" demandPopin="true">
                    <header>
                        <Label text="Status" id="statuscolumn" design="Bold"/>
                    </header>
                </Column>
            </columns>
        </TableSelectDialog>
    </core:FragmentDefinition>

只需使用基本对话框即可。

此处提供相同的事件(部分名称不同),因为 TableSelectDialog 只是对话框的一个方便控件,带有一些附加功能,例如搜索栏。

    <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core">
    <Dialog>
        <content>
            <Table mode="SingleSelectMaster" itemPress=".handleClose" noDataText="No Indent Found" items="{path: 'Create>/Status'}">
                <ColumnListItem id="item0_1560778285375">
                    <cells>
                        <Text text="{Create>IndentNo}" id="indenNo"/>
                        <Text text="{Create>So_no}" id="soNo"/>
                        <Text text="{Create>Vehicle}" id="truckNo"/>
                        <Text text="{Create>Status}" id="status"/>
                    </cells>
                </ColumnListItem>
                <columns>
                    <Column id="column0" minScreenWidth="Tablet" demandPopin="true">
                        <header>
                            <Label design="Bold" text="Indent No" id="label8"/>
                        </header>
                    </Column>
                    <Column id="column1" minScreenWidth="Tablet" demandPopin="true">
                        <header>
                            <Label text="Sales Order No." id="label10" design="Bold"/>
                        </header>
                    </Column>
                    <Column id="column2" minScreenWidth="Tablet" demandPopin="true">
                        <header>
                            <Label text="Vehicle No." id="label9" design="Bold"/>
                        </header>
                    </Column>
                    <Column id="column3" minScreenWidth="Tablet" demandPopin="true">
                        <header>
                            <Label text="Status" id="statuscolumn" design="Bold"/>
                        </header>
                    </Column>
                </columns>
            </Table>
        </content>
        <beginButton>
            <Button text="OK" press=".onPressButton"/>
        </beginButton>
    </Dialog>
</core:FragmentDefinition>

请注意,您必须在 handleClose/onPressButton 函数中手动关闭对话框。


如果您想保留 TableSelectDialog,您可以访问内容、自定义 header 和对话框的按钮,如 Dialog 的 API 中所述。