【问题标题】:SAPUI5 Table Get Clicked row data of a multi select enabled tableSAPUI5 Table Get Clicked 启用多选的表的行数据
【发布时间】:2018-08-13 06:48:22
【问题描述】:

我有选择模式多选的 sapui5 表。 我可以在页面中的按钮单击事件上获取选定的行数据。

而且我还需要点击一行并获取点击行的数据。 为此,我使用了ItemPress 事件。

但我无法在ItemPress 事件中获取点击的行数据

这就是我附加事件的方式

oView.byId("table1").getTable().attachItemPress(this.handleItemPress, this);

桌子

    <Table id="table1" growing="true" growingThreshold="10" mode="MultiSelect">
                            <columns>
                                <Column id="TICKET_ID" hAlign="Begin" vAlign="Top" styleClass="iconCol">
                                    <customData>
                                        <core:CustomData key="p13nData" value='\{"columnKey": "TICKET_ID", "columnIndex":"0", "leadingProperty": "TICKET_ID"}'/>
                                    </customData>
                                    <Text text="{@i18n&gt;Ticket}"/>
                                </Column>
                                <Column id="NUMBER" hAlign="Begin">
                                    <customData>
                                        <core:CustomData key="p13nData" value='\{"columnKey": "NUMBER", "maxLength": "40","columnIndex":"1", "leadingProperty": "NUMBER"}'/>
                                    </customData>
                                    <Text text="{@i18n&gt;NUMBER}"/>
                                </Column>

    </columns>
    <items>
                                <ColumnListItem type="Active">

                                    <cells>
                                        <Text text="{TICKET_ID}"/>
                                        <Text text="{NUMBER}"/>
</cells>
</ColumnListItem>
</Table>

项目新闻事件

handleItemPress: function(oEvent) {
        var rowobject = oEvent.getSource().getSelectedItem().getBindingContext().getObject();
    }, 

这会报错

【问题讨论】:

    标签: sapui5


    【解决方案1】:

    我想我找到了一种访问数据的方法

    oEvent.getParameter("listItem").getBindingContext().getObject();
    

    【讨论】:

    • 正确。虽然我建议getParameter("listItem") 而不是gerParameters().listItem
    【解决方案2】:

    如果它是一个多选启用表,那么您应该有一个确定按钮。用户将选择项目并按 OK。你可以用类似这样的东西来收集选定的项目:

    onOKPressed: function(oControlEvent) {
                this.aTokens = oControlEvent.getParameter("tokens");
                this.theTokenInput.setTokens(this.aTokens);
    
                ...
            },
    

    【讨论】:

      猜你喜欢
      • 2020-09-06
      • 1970-01-01
      • 2021-09-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-27
      相关资源
      最近更新 更多