首页 文章

如何删除SAPUI5表中的行,并在行中嵌入删除按钮[关闭]

提问于
浏览
1

我有XML SAPUI5表,每行都嵌入了删除按钮 . 表绑定到JSON ..

<Table id="idUploadTable" mode="None" delete="handleDeleteListItem" width="100%" 
items="{uiFormModel>/attachmentList}">

    <columns>
        <Column id="idFileNameCol" vAlign="Middle">
            <header>
                <Label text="File Name" />
            </header>
        </Column>
        <Column id="idUploadedOByCol" hAlign="Left" vAlign="Middle">
            <header>
                <Label text="Uploaded By" />
            </header>
        </Column>
        <Column id="idUploadedOnCol" hAlign="Left" vAlign="Middle">
            <header>
                <Label text="Uploaded On" />
            </header>
        </Column>
        <Column id="idUploadedDelCol" hAlign="Left" vAlign="Middle">
            <header>
                <Label text="" />
            </header>
        </Column>                           
    </columns>
    <items>
        <ColumnListItem>
            <cells>
                <Link text="{uiFormModel>fileName}" href="{uiFormModel>fileLocation}" target="blank"/>
                <Text text="{uiFormModel>uploadedByUserName}" />
                <Text text="{uiFormModel>uploadedOn}" />
                <Button icon="sap-icon://delete" press="handleDeleteAttachment">
                    <customData>
                        <core:CustomData key="multi" value="true" />
                    </customData>
                </Button>                                   
            </cells>
        </ColumnListItem>
    </items>
</Table>

表绑定到JSON模型我能够将上述JSON中的数据加载到表中 . What I want is, when user clicks on delete button embedded in the row, that specific row needs to be deleted . Table selection mode has to be None . 如何通过上述代码作为基线来实现这一目标?

在此先感谢.. Faddy

1 回答

  • 1

    在按钮单击的处理程序上,您需要获取“绑定路径” . 这是模型中从根到实例数据的路径 . 有了它,你可以得到它的 Value ,然后转到你的模型,选择相应的实例并将其删除 . 该表自动更新 . 绑定路径部分是这样的:

    new sap.ui.commons.Button({ /* ... */
      press: function(e){
        var sPath = e.getSource().getBindingContext('uiFormModel').getPath();
        var oModel = sap.ui.getCore().getModel('uiFormModel');
        var oRowData = oModel.getProperty(sPath);
      }
    }
    

    希望能帮助到你

相关问题