如何使用行中嵌入的删除按钮删除 SAPUI5 table 中的行
How to delete row in SAPUI5 table with delete button embedded in the row
我有 XML SAPUI5 table,每行都嵌入了删除按钮。 Table 绑定到 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>
Table 绑定到 JSON 模型
我能够将数据从上面的 JSON 加载到 table。 我想要的是,当用户单击嵌入在该行中的删除按钮时,需要删除该特定行。 Table selection mode has to be None
。我怎样才能以上述代码为基准实现这一点?
提前致谢..
法迪
在按钮单击的处理程序中,您需要获取 "binding path"。这是模型中从根到实例数据的路径。有了它,您可以获得它的价值,然后转到您的模型,select 相应的实例并将其删除。 table 自动更新。绑定路径部分类似于:
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);
}
}
希望对您有所帮助
我有 XML SAPUI5 table,每行都嵌入了删除按钮。 Table 绑定到 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>
Table 绑定到 JSON 模型
我能够将数据从上面的 JSON 加载到 table。 我想要的是,当用户单击嵌入在该行中的删除按钮时,需要删除该特定行。 Table selection mode has to be None
。我怎样才能以上述代码为基准实现这一点?
提前致谢.. 法迪
在按钮单击的处理程序中,您需要获取 "binding path"。这是模型中从根到实例数据的路径。有了它,您可以获得它的价值,然后转到您的模型,select 相应的实例并将其删除。 table 自动更新。绑定路径部分类似于:
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);
}
}
希望对您有所帮助