sap.m.表行删除动态添加中的最后一行,并使用外部按钮删除行

2020-09-26 13:19发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我有一个具有三列的sap.m.Table,该表绑定到具有空数据的json。

Ex:this.oTableData = {" Findings":[]}; this.oTableModel.setData(this.oTableData); this.oFindingsTable.setModel(this.oTableModel," oTableModel");

初始我的表中有空行。 桌子外面有2个按钮。

当我单击添加时,我在json数据中推送行并进行绑定

添加一行

===========

var oTable = this.oFindingsTable;

var oModel = oTable.getModel(" oTableModel"); oModel.refresh();

var LatestData = {" Findings":[]};

var oItems = oTable.getItems();

for(var i = 0; i

var oRow = oTable.getItems()[i]; var newRow = {" findingno":oRow.getCells()[0] .getValue()," priority":oRow.getCells()[1] .getValue()," longtext":oRow.getCells()[2] .getValue(),"建议":[]}; LatestData.Findings.push(newRow); } oModel.setData(latestData);

oTable.setModel(oModel," oTableModel"); //使用输入的数据刷新表var oData = oTable.getModel(" oTableModel").getData(); var oNewRow = {" findingno":""," priority":""," longtext":""," Recommendations":[]};

oData.Findings.push(oNewRow);

oModel.refresh();

oTable.setModel(oModel," oTableModel");

使用以下代码删除:

==========================

//使用输入的数据刷新表var LatestData = {" Findings":[]}; for(var i = 0; i = 0; i--){var oThisObj = aContexts [i] .getObject(); var index = $ .map(aData,function(obj,index){if(obj === oThisObj){return index;}}); //oTable.removeItem(oTable.getItems()[index]); aData.Findings.splice(index,1); }//for循环的结尾oModel.refresh(); oModel.setData(aData); oModel.refresh(); oTable.setModel(oModel," oTableModel");

问题

==========

1。 在动态行中,最初使用空模型进行添加和删除不会以2种方式反映出来,因此每次我都在获取输入的数据时。

2。 这样添加行可以正常工作,但是要删除它,无论选择什么,总是删除表中的最后一行。

3。 如何使以上代码适用于删除所选行

感谢和问候

加利安

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我有一个具有三列的sap.m.Table,该表绑定到具有空数据的json。

Ex:this.oTableData = {" Findings":[]}; this.oTableModel.setData(this.oTableData); this.oFindingsTable.setModel(this.oTableModel," oTableModel");

初始我的表中有空行。 桌子外面有2个按钮。

当我单击添加时,我在json数据中推送行并进行绑定

添加一行

===========

var oTable = this.oFindingsTable;

var oModel = oTable.getModel(" oTableModel"); oModel.refresh();

var LatestData = {" Findings":[]};

var oItems = oTable.getItems();

for(var i = 0; i

var oRow = oTable.getItems()[i]; var newRow = {" findingno":oRow.getCells()[0] .getValue()," priority":oRow.getCells()[1] .getValue()," longtext":oRow.getCells()[2] .getValue(),"建议":[]}; LatestData.Findings.push(newRow); } oModel.setData(latestData);

oTable.setModel(oModel," oTableModel"); //使用输入的数据刷新表var oData = oTable.getModel(" oTableModel").getData(); var oNewRow = {" findingno":""," priority":""," longtext":""," Recommendations":[]};

oData.Findings.push(oNewRow);

oModel.refresh();

oTable.setModel(oModel," oTableModel");

使用以下代码删除:

==========================

//使用输入的数据刷新表var LatestData = {" Findings":[]}; for(var i = 0; i = 0; i--){var oThisObj = aContexts [i] .getObject(); var index = $ .map(aData,function(obj,index){if(obj === oThisObj){return index;}}); //oTable.removeItem(oTable.getItems()[index]); aData.Findings.splice(index,1); }//for循环的结尾oModel.refresh(); oModel.setData(aData); oModel.refresh(); oTable.setModel(oModel," oTableModel");

问题

==========

1。 在动态行中,最初使用空模型进行添加和删除不会以2种方式反映出来,因此每次我都在获取输入的数据时。

2。 这样添加行可以正常工作,但是要删除它,无论选择什么,总是删除表中的最后一行。

3。 如何使以上代码适用于删除所选行

感谢和问候

加利安

付费偷看设置
发送
1条回答
Doze时光
1楼-- · 2020-09-26 13:54

嗨,

要删除行,您可以执行以下代码。

//从路径获取行索引
 var vIndex = oEvent.getSource()。getBindingContext(" prodListMdl")。getPath()。split("/")[2],
     viewMdl = this.getView()。getModel(" prodListMdl");

//使用模型中的索引删除行
 viewMdl.getData()。prodListData.splice(vIndex,1);
 viewMdl.refresh();
 

一周热门 更多>