SAPUI5表格行删除不起作用

SAPUI5表格行删除不起作用,sapui5,Sapui5,在SAP UI5中,如果表按任何列排序,则删除操作不起作用。打开下面的链接并按客户ID对表进行排序,然后尝试删除任何行,您将注意到删除了错误的行。请帮忙 首先要确保你——无论如何 您尝试的是从一个从JSONModel获取数据的表中删除一行。为了安全起见,您必须在删除模型之前在模型中找到正确的“行数据”。不能仅使用表的选定索引,因为此索引与相应模型数据的索引不相关!因此,您需要做的是使用表API从属于所选行的模型中获取数据。之后,您必须在模型中找到该“数据”的正确索引,即通过在模型数据上循环并比较

在SAP UI5中,如果表按任何列排序,则删除操作不起作用。打开下面的链接并按客户ID对表进行排序,然后尝试删除任何行,您将注意到删除了错误的行。请帮忙


首先要确保你——无论如何

您尝试的是从一个从JSONModel获取数据的表中删除一行。为了安全起见,您必须在删除模型之前在模型中找到正确的“行数据”。不能仅使用表的选定索引,因为此索引与相应模型数据的索引不相关!因此,您需要做的是使用表API从属于所选行的模型中获取数据。之后,您必须在模型中找到该“数据”的正确索引,即通过在模型数据上循环并比较唯一标识符(在我们的例子中是OrderID)或使用一些更智能/更快的算法。。。一旦你得到数据就从模型中删除它

下面是一个工作示例,它甚至可以用于排序()


使用SAPUI5 | nabisoft中的JSONModel从表中删除行
变量可旋转,oModel;
oTable=新的sap.ui.table.table({
selectionMode:sap.ui.table.selectionMode.Single,
栏目:[
新的sap.ui.table.Column({
标签:新的sap.m.label({text:“Order ID”}),
模板:new sap.m.Input({value:{OrderID}}}),
sortProperty:“OrderID”
}),
新的sap.ui.table.Column({
标签:新的sap.m.label({text:“Customer ID”}),
模板:new sap.m.Input({value:{CustomerID}}}),
sortProperty:“CustomerID”
})
]
});
oModel=new sap.ui.model.json.JSONModel([
{OrderID:10248,CustomerID:“VINET”},{OrderID:10249,CustomerID:“TOMSP”},{OrderID:10250,CustomerID:“HANAR”},
{OrderID:10251,CustomerID:“VICTE”},{OrderID:10252,CustomerID:“SUPRD”},{OrderID:10253,CustomerID:“HANAR”},
{OrderID:10254,CustomerID:“CHOPS”},{OrderID:10255,CustomerID:“RICSU”},{OrderID:10256,CustomerID:“WELLI”},
{OrderID:10257,CustomerID:“HILAA”},{OrderID:10258,CustomerID:“ERNSH”},{OrderID:10259,CustomerID:“CENTC”},
{OrderID:10260,CustomerID:“OTTIK”},{OrderID:10261,CustomerID:“QUEDE”},{OrderID:10262,CustomerID:“RATTC”},
{OrderID:10263,CustomerID:“ERNSH”},{OrderID:10264,CustomerID:“FOLKO”},{OrderID:10265,CustomerID:“BLONP”},
{OrderID:10266,CustomerID:“WARTH”},{OrderID:10267,CustomerID:“FRANK”},{OrderID:10268,CustomerID:“GROSR”},
{OrderID:10269,CustomerID:“WHITC”},{OrderID:10270,CustomerID:“WARTH”},{OrderID:10271,CustomerID:“SPLIR”},
{OrderID:10272,CustomerID:“RATTC”},{OrderID:10273,CustomerID:“QUICK”},{OrderID:10274,CustomerID:“VINET”},
{OrderID:10275,CustomerID:“MAGAA”},{OrderID:10276,CustomerID:“TORTU”},{OrderID:10277,CustomerID:“MORGK”},
{OrderID:10278,CustomerID:“BERGS”},{OrderID:10279,CustomerID:“LEHMS”},{OrderID:10280,CustomerID:“BERGS”},
{OrderID:10281,CustomerID:“ROMEY”},{OrderID:10282,CustomerID:“ROMEY”},{OrderID:10283,CustomerID:“LILAS”},
{OrderID:10284,CustomerID:“LEHMS”},{OrderID:10285,CustomerID:“QUICK”},{OrderID:10286,CustomerID:“QUICK”},
{OrderID:10287,CustomerID:“RICAR”},{OrderID:10288,CustomerID:“REGGC”},{OrderID:10289,CustomerID:“BSBEV”},
{OrderID:10290,CustomerID:“COMMI”},{OrderID:10291,CustomerID:“QUEDE”},{OrderID:10292,CustomerID:“TRADH”},
{OrderID:10293,CustomerID:“TORTU”},{OrderID:10294,CustomerID:“RATTC”},{OrderID:10295,CustomerID:“VINET”},
{OrderID:10296,CustomerID:“LILAS”}
]);
setModel(oModel);
oTable.bindRows(“/”);
可旋转。放置位置(“表格内容”);
新sap.m.按钮({
文本:“删除”,
按:函数(){
变量idx、oRow、oRowData、oData、oRemoved;
idx=oTable.getSelectedIndex();
如果(idx!=-1){
//从(json)模型中获取所选行数据
oRow=oTable.getRows()[idx];
oRowData=oRow.getBindingContext().getObject();
//现在我们必须循环JSONModel以找到正确的条目
oData=oModel.getData();

对于(i=0;i请在此问题中包含相关代码。链接会随着时间的推移而中断,我们希望保留此问题以帮助将来的用户。如何添加序列号列,以便在删除行时也能排序