我有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中的数据加载到表中。 我想要的是,当用户点击行中嵌入的删除按钮时,需要删除该特定行。 Table selection mode has to be None
。如何通过上述代码作为基线来实现这一目标?
提前致谢.. Faddy
答案 0 :(得分:1)
在按钮单击的处理程序上,您需要获取&#34;绑定路径&#34;。这是模型中从根到实例数据的路径。有了它,您可以获得它的价值,然后转到您的模型,选择相应的实例并将其删除。该表自动更新。绑定路径部分是:
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);
}
}
希望有所帮助