【问题标题】:SAPUI5 SmartTable itemPressed - get pressed cellSAPUI5 SmartTable itemPressed - 获取按下的单元格
【发布时间】:2017-08-14 14:27:12
【问题描述】:

是否有机会在 itemPress 事件中获取按下单元格的值?当有人按下列中的单元格时,我想设置一个工具提示。或者,是否可以仅在单元格上注册此事件?

我正在使用基于 XML 视图的 SmartTable(响应式 -> sap.m.table):

                <smartTable:SmartTable
                                id="kubas"
                                entitySet="myEntity"
                                initiallyVisibleFields="absender,empfaenger,nachtyp"
                                smartFilterId="smartFilterBar" 
                                tableType="ResponsiveTable" 
                                useExportToExcel="true" 
                                useVariantManagement="true" 
                                useTablePersonalisation="true" 
                                header="Entries" 
                                showRowCount="true" 
                                persistencyKey="SmartTableAnalytical_Explored" 
                                enableAutoBinding="true" 
                                demandPopin="true" 
                                class="sapUiResponsiveContentPadding"
                                dataReceived="onDataReceived"
                                >

            </smartTable:SmartTable>

或者以某种方式将图标/图像合并到单元格值并为其设置工具提示会更好吗?

【问题讨论】:

    标签: sapui5


    【解决方案1】:

    通过单元格的 itemPress 事件设置 tooptip 通常不是一个很好的做法。

    您可以在列标题中设置工具提示,也可以自定义显示工具提示的列项目。

    您可以自定义SmartTable 的内表,例如,如下所示的列标题和列项。更多信息请查看here

    <smartTable:SmartTable entitySet="LineItemsSet"
        smartFilterId="smartFilterBar" tableType="ResponsiveTable"
        useExportToExcel="true" useVariantManagement="false"
        useTablePersonalisation="true" header="Line Items" showRowCount="true"
        persistencyKey="SmartTableAnalytical_Explored" enableAutoBinding="true"
        demandPopin="true" class="sapUiResponsiveContentPadding">
        <Table>
            <columns>
                <Column width="100px" hAlign="Left">
                    <customData>
                        <core:CustomData key="p13nData"
                            value='\{"columnKey": "Dmbtr", "maxLength": "5","columnIndex":"4", "leadingProperty": "Dmbtr"}' />
                    </customData>
                    <Text text="{/#LineItems/Dmbtr/@sap:label}" />
                </Column>
            </columns>
            <items>
                <ColumnListItem>
                    <cells>
                        <Text
                            text="{Dmbtr}" />
                    </cells>
                </ColumnListItem>
            </items>
        </Table>
    </smartTable:SmartTable>
    

    如果要显示有关此列的一般信息,请为列标题设置工具提示。

    <columns>
        <Column width="100px" hAlign="Left">
            <customData>
                <core:CustomData key="p13nData"
                    value='\{"columnKey": "Dmbtr", "maxLength": "5","columnIndex":"4", "leadingProperty": "Dmbtr"}' />
            </customData>
            <Text text="{/#LineItems/Dmbtr/@sap:label}" tooltip = "YOUR TOOLTIP"/>
        </Column>
    </columns>
    

    为每个单独的单元格设置工具提示。

    <items>
        <ColumnListItem>
            <cells>
                <Text text="{Dmbtr}" tooltip = "YOUR TOOLTIP"/>
            </cells>
        </ColumnListItem>
    </items>
    

    【讨论】:

    • 如果我这样做,则不会从 entitySet 将任何内容加载到此列,此外,如果我取消选择所有列并保留我唯一自定义的列,则表格会显示我应该选择的错误消息至少一列来加载数据。
    • 我设法让它工作,问题是,我删除了显示数据所需的leadingProperty。再次感谢艾伦!
    • @Kubas 我被赶上并计划查看您的问题。现在我很高兴它起作用了:)
    【解决方案2】:

    还有一件事,当我想添加第二列时,我无法绑定它,也就是说,数据不是来自我的 entitySet,该列保持为空。如果我输入一个硬编码的文本,那么它就会被弹出。任何线索为什么?

    <Table growing="true" growingScrollToLoad="true" >
    <columns>
        <Column hAlign="Left" vAlign="Middle" visible="true" >
            <customData>
                <core:CustomData key="p13nData"
                    value='\{"columnKey": "column1", "leadingProperty": "column1", "filterProperty": "column1", "columnIndex":"0"}' />
            </customData>
            <Text text="Column1" />
        </Column>
        <Column hAlign="Left" vAlign="Middle" visible="true" >
            <customData>
                <core:CustomData key="p13nData"
                    value='\{"columnKey": "column2", "columnIndex":"1"}' />
            </customData>
            <Text text="Column2" />
        </Column>
    
    </columns>
    <items>
        <ColumnListItem>
            <cells>
                   <HBox>
                        <core:Icon src="sap-icon://sys-help" />
                        <ToolbarSpacer width="5px"  />
                        <Text text="{column1}" tooltip="dasda" />
                    </HBox>
    
            </cells>
             <cells>
                  <Text text="{column2}" tooltip="dasda" />
            </cells>
        </ColumnListItem>
    </items>
    

    【讨论】:

    • 同上,缺少leadingProperty .. :)
    猜你喜欢
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    相关资源
    最近更新 更多